js冒泡事件小解

Posted 炎泽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js冒泡事件小解相关的知识,希望对你有一定的参考价值。

何为冒泡事件?简单来说事件就像一个水里的泡泡,先触发当前对象再触发其父元素,然后是父元素的父元素...

eg:

<div class="out" onclick= "alert(‘out‘)">
       <div class="middle" onclick= "alert(‘middle‘)">
            <input class="inner" type="button" onclick= "alert(‘inner‘)"/>
       </div>
</div>

点击button,依次弹出inner, middle, out。

终止于哪个元素?

从当前元素逐步往上,有的浏览器终止于document,有的是window

 

如何阻止冒泡事件?

<div class="out" onclick= "alert(‘out‘)">
       <div class="middle" onclick= "alert(‘middle‘)">
            <input class="inner" type="button" onclick= "alert(‘inner‘)"/>
       </div>
</div>

<script>

       function a(event){
             alert("inner");

      //兼容IE
             event.stopPropagation? event.stopPropagation():(event.cancelBubble= true);
       }

</script>

这样就只弹出inner

注: 网上有人说return false;和event.preventDefault()也能阻止冒泡,亲测,无效。。。












以上是关于js冒泡事件小解的主要内容,如果未能解决你的问题,请参考以下文章

js阻止冒泡和默认事件(默认行为)详解

JS-阻止冒泡事件与事件委托

js函数中 如何阻止事件冒泡

JS如何阻止事件冒泡

Atitit.  Js 冒泡事件阻止 事件捕获   事件传递  事件代理

js中啥是事件气泡,如何阻止事件气泡