我想减少我的代码,所以这里是一个问题:如果我有10个事件监听器,并且在不同的情况下我必须添加或删除它们有一种方法将所有“addEventListener”放在一个函数中,并且“removeEventListener”在其他函数并键入“add / removeEventListenerFuction”而不是十次10个事件监听器。任何答案都会有所帮助。谢谢你。
答案 0 :(得分:0)
如果您知道事件类型并将事件处理函数存储在数组中,则应该可以在循环中调用add / removeEventListener。
var events:Array = [{"type":MouseEvent.CLICK,"handler":func1},
{"type":MouseEvent.MOUSE_DOWN,"handler":func2},
{"type":MouseEvent.MOUSE_UP,"handler":func3},
{"type":MouseEvent.MOUSE_OVER,"handler":func4}];
for(var i:int=0; i<events.length; i++) {
stage.addEventListener(events[i].type,events[i].handler);
// to remove
// stage.removeEventListener(events[i].type,events[i].handler);
}
我不明白为什么这会有用,或许如果你试图解释你想要做什么并展示一些代码我可以提供更多帮助。