首页 > 代码库 > as3 阻止后续侦听器
as3 阻止后续侦听器
public class Test1 extends Sprite { private var spr:Sprite; private var spr2:Sprite; public function Test1() { spr = new Sprite(); spr.graphics.beginFill(0xff0000,1); spr.graphics.drawCircle(100,100,10); spr.graphics.endFill(); this.addChild(spr); spr.addEventListener(MouseEvent.CLICK,_hander); spr.addEventListener(MouseEvent.CLICK,_hander); spr.addEventListener(MouseEvent.CLICK,_hander); spr.addEventListener(MouseEvent.CLICK,_hander); spr2 = new Sprite(); spr2.graphics.beginFill(0xff0000,1); spr2.graphics.drawCircle(200,100,10); spr2.graphics.endFill(); this.addChild(spr2); spr2.addEventListener(MouseEvent.CLICK,_hander2); } private function _hander(evt:MouseEvent):void { trace("click"); } private function _hander2(evt:MouseEvent):void { trace("click2"); spr.removeEventListener(MouseEvent.CLICK,_hander); //spr一的侦听器函数不触发了 } }
public class Test1 extends Sprite { private var spr:Sprite; private var spr2:Sprite; public function Test1() { spr = new Sprite(); spr.graphics.beginFill(0xff0000,1); spr.graphics.drawCircle(100,100,10); spr.graphics.endFill(); this.addChild(spr); spr.addEventListener(MouseEvent.CLICK,_hander); spr.addEventListener(MouseEvent.CLICK,_hander); spr2 = new Sprite(); spr2.graphics.beginFill(0xff0000,1); spr2.graphics.drawCircle(200,100,10); spr2.graphics.endFill(); this.addChild(spr2); spr2.addEventListener(MouseEvent.CLICK,_hander2); this.stage.addEventListener(MouseEvent.CLICK,_stageClick); } private function _hander(evt:MouseEvent):void { trace("click"); //舞台将不会收到click事件 evt.stopImmediatePropagation(); } private function _hander2(evt:MouseEvent):void { trace("click2"); //spr.removeEventListener(MouseEvent.CLICK,_hander); //spr一的侦听器函数不触发了 } private function _stageClick(evt:MouseEvent):void { trace("stage_click"); } }
as3 阻止后续侦听器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。