Javascript事件冒泡

Posted 在修行

tags:

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

1.javascript的dom是相互嵌套的,当点击子元素的时候,事件在子元素上触发,然后事件会逐级向上层传递。这就叫事件冒泡。

event.stopPropagation();可以停止事件冒泡,即不再向上级传递事件。

2.事件委托,由于事件会逐级向上传递,因此我们可以将本来要子元素执行的函数,委托给父元素。父元素捕获到子元素的事件后,帮助子元素执行函数。

event.target  触发事件的元素

event.currentTarget  当前捕获该事件的元素

3.jquery对事件委托的处理:   delegate(selector,[type],[data],fn)

  type:     附加到元素的一个或多个事件。由空格分隔多个事件值。必须是有效的事件。

     data:   传递到函数的额外数据

     fn:       当事件发生时运行的函数  

概述:

         指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。

         使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。

 3.dom2级事件函数,w3c自带的添加事件addEventListener(type,function,isCatch),移除事件removeEventListener

  isCatch是否捕获,true:捕获,false:冒泡。事件处理机制,冒泡兼容性比较好。

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

JavaScript系列之事件冒泡机制简介

Javascript事件冒泡

javascript中的事件冒泡和事件捕获

JavaScript 事件冒泡,事件捕获,事件委托

JavaScript 事件的冒泡问题

javascript中的事件冒泡事件捕获和事件执行顺序