免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1070 | 回复: 0

HTML event方法:stopImmediatePropagation [复制链接]

论坛徽章:
0
发表于 2011-12-21 08:41 |显示全部楼层

关于stopPropagation和stopImmediatePropagation的区别
后来研究了一下,终于明白了stopImmediatePropagation的作用,总结就是“可以阻止掉同一事件的其他优先级较低的侦听器的处理”

比如以下代码:

  1. this.addEventListener(MouseEvent.MOUSE_DOWN, funA,false,2);
  2. this.addEventListener(MouseEvent.MOUSE_DOWN, funB,false,1);
  3. function funA (evt:MouseEvent):void
  4. {
  5.         trace ("A!");
  6.         evt.stopImmediatePropagation ();
  7. }
  8. function funB (evt:MouseEvent):void
  9. {
  10.         trace ("B!");
  11. }

因为侦听器funA的优先级为2比funB高,所以先执行了funA,而在funA里面有evt.stopImmediatePropagation ();因此funB没有被执行  输出结果就是一个"A"。 

stopPropagation
停止后续节点的事件侦听,当前节点注册的侦听器可用。如funA和funB,后续则不可用。

stopImmediatePropagation
停止当前节点和后续节点的事件侦听,有优先级,则按优先级顺序,无优先级则按注册侦听器的顺序。即执行到发出stopImmediatePropagation命令的侦听器后面的侦听器不可用。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP