js阻止事件冒泡的发生

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36818386/article/details/82226101

源码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <style type="text/css">
        *{
            margin:0;
            padding:0;
        }
         #outer{
           position: relative;
           width:400px;
           height: 400px;
           background:yellow;
         }
        #inner{
             position: absolute;
             width:100px;
             height: 100px;
             background:cyan;
        }
    </style>
</head>
<body>
    <div id="outer">
         <div id="inner"></div>
    </div>
</body>
</html>
<script type="text/javascript">
         var inner  = document.getElementById("inner");
         var outer = document.getElementById("outer");

         inner.onclick = function  (event)
           {
            var event = event||window.event;

            //能力检测
           if(event.stopPropagation)
           {
               //高级浏览器写法
               event.stopPropagation();
           }
           else
           {
               //对于IE低级浏览器写法
               event.cancelBubble = true;
           }
             console.log("inner");
           }

         outer.onclick = function  (argument) {
             console.log("outer");
           }
</script>

我们先来介绍下冒泡事件:

   不管是DOM 0级事件还是DOM 2都有冒泡阶段存在,事件对象(event)可以通过一些属性、方法来阻止事件冒泡.

阻止冒泡后变化:

有什么问题欢迎留言!~~~~~

猜你喜欢

转载自blog.csdn.net/qq_36818386/article/details/82226101
今日推荐