我想减少我的代码,所以这里有一个问题:如果我有 10 个事件侦听器并且在不同的情况下我必须添加或删除它们,有没有办法将所有“addEventListener”放在一个函数中,将“removeEventListener”放在另一个函数中和键入“add/removeEventListenerFuction”而不是十次 10 个事件侦听器。任何答案都会有所帮助。现在谢谢。
问问题
342 次
1 回答
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);
}
我不明白为什么这会有用,也许如果您尝试解释您正在尝试做什么并显示一些代码,我可以提供更多帮助。
于 2012-09-16T02:31:39.663 回答