事件的stopImmediatePropagation和stopPropagation
2012-05-04 12:52
375 查看
首先看看官方API的说法:
stopImmediatePropagation () 方法 :防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。此方法会立即生效,并且会影响当前节点中的事件侦听器。相比之下,在当前节点中的所有事件侦听器都完成处理之前,stopPropagation() 方法不会生效。
stopPropagation () 方法 防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。此方法不会影响当前节点 (currentTarget) 中的任何事件侦听器。相比之下,stopImmediatePropagation() 方法可以防止对当前节点中和后续节点中的事件侦听器进行处理。对此方法的其它调用没有任何效果。可以在事件流的任何阶段中调用此方法。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
官方的有点晦涩难懂,通俗易懂一些的理解就是:
stopImmediatePropagation 影响了当前节点监听的事件处理和后续节点的事件监听处理,比如说当前节点有2个监听器处理函数Fun1和Fun2(有先后之分).执行了stopImmediatePropagation ()方法后。Fun2不执行。如果是stopPropagation
()方法则可以执行。当然在冒泡机制下的第三阶段和捕获机制下的第二阶段的监听处理将不会被执行。
stopPropagation 则不对当前节点的监听器处理和当前节点的其他监听处理造成影响,只对后续节点造成影响(在冒泡机制下的第三阶段的监听处理不执行)(捕获阶段的第二阶段的监听处理不执行)。
stopImmediatePropagation () 方法 :防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。此方法会立即生效,并且会影响当前节点中的事件侦听器。相比之下,在当前节点中的所有事件侦听器都完成处理之前,stopPropagation() 方法不会生效。
stopPropagation () 方法 防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。此方法不会影响当前节点 (currentTarget) 中的任何事件侦听器。相比之下,stopImmediatePropagation() 方法可以防止对当前节点中和后续节点中的事件侦听器进行处理。对此方法的其它调用没有任何效果。可以在事件流的任何阶段中调用此方法。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
官方的有点晦涩难懂,通俗易懂一些的理解就是:
stopImmediatePropagation 影响了当前节点监听的事件处理和后续节点的事件监听处理,比如说当前节点有2个监听器处理函数Fun1和Fun2(有先后之分).执行了stopImmediatePropagation ()方法后。Fun2不执行。如果是stopPropagation
()方法则可以执行。当然在冒泡机制下的第三阶段和捕获机制下的第二阶段的监听处理将不会被执行。
stopPropagation 则不对当前节点的监听器处理和当前节点的其他监听处理造成影响,只对后续节点造成影响(在冒泡机制下的第三阶段的监听处理不执行)(捕获阶段的第二阶段的监听处理不执行)。
相关文章推荐
- 事件的stopImmediatePropagation和stopPropagation
- AS3 event flow 事件冒泡机制 以及 stopImmediatePropagation() stopPropagation()用法
- AS3 event flow 事件冒泡机制 以及 stopImmediatePropagation() stopPropagation()用法 及useCapture的用法
- AS3 event flow 事件冒泡机制 以及 stopImmediatePropagation() stopPropagation()用法
- jQuery 事件中stoppropagation和stopimmediatepropagation的区别
- e.stopPropagation 与 e.stopImmediatePropagation的区别
- js中的stopImmediatePropagation方法和stopPropagation方法的区别
- Flex事件流中有关 【 stopImmediatePropagation()和stopPropagation()】 的区别
- stopImmediatePropagation 和stopPropagation的区别
- 怎样区别stopPropagation()与stopImmediatePropagation()
- stopImmediatePropagation停止当前节点和后续节点的事件侦听
- stopPropagation与stopImmediatePropagation
- (转)stopImmediatePropagation 和stopPropagation的区别
- js中preventDefault 与stopPropagation 及 stopImmediatePropagation的区别
- jQuery源码分析之jQuery.Event,$.stopImmediatePropagation,$.preventDefault,$.stopPropagation
- W3C/JQuery中stopImmediatePropagation和stopPropagation的区别
- Event的stopImmediatePropagation和stopPropagation方法
- AS3 event stopImmediatePropagation() stopPropagation()用法以及区别
- stopImmediatePropagation&stopPropagation 区别
- js事件之event.preventDefault()与event.stopPropagation()用法区别