事件冒泡之cancelBubble和stoppropagation的区别

事实上stoppropagation和cancelBubble的作用是一样的,都是用来阻止浏览器默认的事件冒泡行为。

不同之处在于stoppropagation属于W3C标准,试用于Firefox等浏览器,但是不支持IE浏览器。相反cancelBubble不符合W3C标准,而且只支持IE浏览器。所以很多时候,我们都要结合起来用。不过,cancelBubble在新版本chrome,opera浏览器中已经支持。

语法:e.stopPropagation();

参数e:表示事件传递的参数,代表事件的状态。

[html] 
 
  1. <html>  
  2. <head>  
  3.     <title>冒泡测试</title>  
  4. </head>  
  5. <body onclick="alert('body');">  
  6.   
  7.     <div onclick="clickBtn(event)"  style="width:100px;height:100px; background:#666;">  
  8.         <input id="Button1" type="button" value="button" onclick="alert('btn');" />  
  9.     </div>  
  10.     <script language="javascript" type="text/javascript">  
  11.         function clickBtn(event)  
  12.         {  
  13.             event=event?event:window.event;  
  14.             event.stopPropagation();  
  15.             alert("OK");  
  16.         }  
  17.     </script>  
  18. </body>  
  19. </html>  

猜你喜欢

转载自www.cnblogs.com/ecmasea/p/9044362.html