html页面中阻止外层onclick事件触发

在实现页面过程中,我们通常会遇见onclick事件的嵌套问题,当点击内层标签的onclick事件时,还会触发外层标签的onclick事件,我们要实现的就是阻止外层onclick事件的触发。

代码如下:

html代码:

<body>
        <!--
            作者:[email protected]
            时间:2018-04-13
            描述:阻止事件冒泡
        -->
        <div onclick="show1()">而微软推欧元价格突然发
            <p onclick="show2()">围绕太阳接近银行股份的法国红酒魔鬼屠夫</p>
        </div>
    </body>

js代码:

<script>
            function show1() {
                alert('show1');
            }

            function show2() {
                alert('show2');
                cancelBubble();
            }

            function cancelBubble(e) {
                var evt = e ? e : window.event;
                if(evt.stopPropagation) { //W3C 
                    evt.stopPropagation();
                } else { //IE      
                    evt.cancelBubble = true;
                }
            }
        </script>

我们通过 cancelBubble( ) 函数可以防止onclick事件穿透。

猜你喜欢

转载自blog.csdn.net/spurs611/article/details/81485732
今日推荐