コードを削減したいので、ここに質問があります。10 個のイベントリスナーがあり、別の状況でそれらを追加または削除する必要がある場合、すべての「addEventListener」を 1 つの関数に配置し、「removeEventListener」を他の関数に配置して、 10 のイベント リスナーの 10 倍の代わりに「add/removeEventListenerFuction」と入力します。今のところありがとう。
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 に答える