1. 程式人生 > >阻止事件冒泡相容處理 相容ie678

阻止事件冒泡相容處理 相容ie678

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <style>
        .parent{ border: #ccc solid 1px; width: 100px; height: 100px; padding: 100px; }
    </style>

    <div class="parent">
        <button class="btn" id="btn">點選</button>
    </div>

    <script>
        var btn = document.querySelector('.btn');

        btn.onclick = function(e){
            alert('btn');

            // 相容ie和標準瀏覽器
            var e = e || window.event;

            // 判斷是否是點選自己
            if ( e.target === this || e.srcElement === this) {
                if (e.stopPropagation) {
                    e.stopPropagation();        // 標準瀏覽器用的
                } else {
                    e.cancleBubble = false;     // ie6-8 瀏覽器取消事件冒泡
                }
            }
        };


        var parent = document.querySelector('.parent');
        parent.onclick = function(){
            alert('parent');
        };
    </script>

</body>
</html>