通常は removeEventListener(イベント名, 関数名); で登録したイベントを解除出来るけど、無名関数の場合どうすんだと。
調べたらjavascriptの一般的な方法らしいんだけど、無名関数内で、関数名の代わりに「 arguments.callee 」を使用してremoveEventListenerするだけです。
addButton.addEventListener('click', function(e) {iOSもAndroidも問題なく動いてます。
//何かの処理
e.source.removeEventListener('click', arguments.callee);
});
ちなみにだけど、いままで無名関数ってよんできたけど、英語だと「Anonymous function」と呼ぶみたいですね。
0 件のコメント:
コメントを投稿