事实上stoppropagation和cancelBubble的作用是一样的,都是用来阻止浏览器默认的事件冒泡行为。
不同之处在于stoppropagation属于W3C标准,试用于Firefox等浏览器,但是不支持IE浏览器。相反cancelBubble不符合W3C标准,而且只支持IE浏览器。所以很多时候,我们都要结合起来用。不过,cancelBubble在新版本chrome,opera浏览器中已经支持。
语法:e.stopPropagation();
参数e:表示事件传递的参数,代表事件的状态。
- <html>
- <head>
- <title>冒泡测试</title>
- </head>
- <body onclick="alert('body');">
- <div onclick="clickBtn(event)" style="100px;height:100px; background:#666;">
- <input id="Button1" type="button" value="button" onclick="alert('btn');" />
- </div>
- <script language="javascript" type="text/javascript">
- function clickBtn(event)
- {
- event=event?event:window.event;
- event.stopPropagation();
- alert("OK");
- }
- </script>
- </body>
- </html>