事件冒泡之cancelBubble和stoppropagation的区别

Posted web前端之春秋战国

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事件冒泡之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="javascripttype="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>  

以上是关于事件冒泡之cancelBubble和stoppropagation的区别的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript--阻止事件冒泡stopPropagation和cancelBubble

js 阻止冒泡事件和默认事件

JS-阻止冒泡事件与事件委托

事件冒泡

阻止事件冒泡和事件默认行为

vue 事件深入