事件冒泡之cancelBubble和stoppropagation的区别

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

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

语法:e.stopPropagation();

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

<html>
<head>
    <title>冒泡测试</title>
</head>
<body οnclick="alert('body');">

    <div οnclick="clickBtn(event)"  style="width:100px;height:100px; background:#666;">
        <input id="Button1" type="button" value="button" οnclick="alert('btn');" />
    </div>
    <script language="javascript" type="text/javascript">
        function clickBtn(event)
        {
            event=event?event:window.event;
            event.stopPropagation();
            alert("OK");
        }
    </script>
</body>
</html>