stopImmediatePropagation停止当前节点和后续节点的事件侦听
2009-02-02 15:21
253 查看
本来是想提问的,关于stopPropagation和stopImmediatePropagation的区别
后来研究了一下,终于明白了stopImmediatePropagation的作用,总结就是“可以阻止掉同一事件的其他优先级较低的侦听器的处理”
比如以下代码:
this.addEventListener(MouseEvent.MOUSE_DOWN, funA,false,2);
this.addEventListener(MouseEvent.MOUSE_DOWN, funB,false,1);
function funA (evt:MouseEvent):void
{
trace ("A!");
evt.stopImmediatePropagation ();
}
function funB (evt:MouseEvent):void
{
trace ("B!");
}
因为侦听器funA的优先级为2比funB高,所以先执行了funA,而在funA里面有evt.stopImmediatePropagation ();因此funB没有被执行 输出结果就是一个"A"。
stopPropagation
停止后续节点的事件侦听,当前节点注册的侦听器可用。如funA和funB,后续则不可用。
stopImmediatePropagation
停止当前节点和后续节点的事件侦听,有优先级,则按优先级顺序,无优先级则按注册侦听器的顺序。即执行到发出stopImmediatePropagation命令的侦听器后面的侦听器不可用。
后来研究了一下,终于明白了stopImmediatePropagation的作用,总结就是“可以阻止掉同一事件的其他优先级较低的侦听器的处理”
比如以下代码:
this.addEventListener(MouseEvent.MOUSE_DOWN, funA,false,2);
this.addEventListener(MouseEvent.MOUSE_DOWN, funB,false,1);
function funA (evt:MouseEvent):void
{
trace ("A!");
evt.stopImmediatePropagation ();
}
function funB (evt:MouseEvent):void
{
trace ("B!");
}
因为侦听器funA的优先级为2比funB高,所以先执行了funA,而在funA里面有evt.stopImmediatePropagation ();因此funB没有被执行 输出结果就是一个"A"。
stopPropagation
停止后续节点的事件侦听,当前节点注册的侦听器可用。如funA和funB,后续则不可用。
stopImmediatePropagation
停止当前节点和后续节点的事件侦听,有优先级,则按优先级顺序,无优先级则按注册侦听器的顺序。即执行到发出stopImmediatePropagation命令的侦听器后面的侦听器不可用。
相关文章推荐
- 事件的stopImmediatePropagation和stopPropagation
- AS3 event flow 事件冒泡机制 以及 stopImmediatePropagation() stopPropagation()用法 及useCapture的用法
- AS3 event flow 事件冒泡机制 以及 stopImmediatePropagation() stopPropagation()用法
- jQuery 事件中stoppropagation和stopimmediatepropagation的区别
- AS3 event flow 事件冒泡机制 以及 stopImmediatePropagation() stopPropagation()用法
- 事件的stopImmediatePropagation和stopPropagation
- js中preventDefault 与stopPropagation 及 stopImmediatePropagation的区别
- js事件之event.preventDefault()与(www.111cn.net)event.stopPropagation()用法区别
- 获取当前事件的节点等等
- js事件之event.preventDefault()与event.stopPropagation()用法区别
- 停止冒泡和阻止浏览器默认行为stopPropagation preventDefault
- jquery阻止冒泡事件:$('span').bind("click",function(event){event.stopPropagation();})(有用源)
- W3C/JQuery中stopImmediatePropagation和stopPropagation的区别
- 【jQuery】调用stop()方法停止当前所有动画效果
- jquery阻止冒泡事件:$('span').bind("click",function(event){event.stopPropagation();})(有用源)
- stopImmediatePropagation心得
- stopImmediatePropagation 和stopPropagation的区别
- js事件之event.preventDefault()与event.stopPropagation()简单介绍
- jQuery Event.stopImmediatePropagation() 函数详解
- s事件之event.preventDefault()与event.stopPropagation()的阻止默认事件和阻止事件冒泡的用法