0

約 1 か月前に、動的 XUL 要素のイベントを適切に設定する方法について質問しました。設定方法がわかったので、解体するときに何をする必要があるのか​​ 疑問に思っています。動的に作成された要素 (私の場合はツールバー ボタンとメニュー項目) が削除されたときに、element.removeEventListener()を使用する必要がありますか? 以下に示すようにイベント リスナーが作成されている場合、クリーンアップできるようにリスナーへの参照を取得するにはどうすればよいでしょうか。

tempMenuItem.addEventListener("command", function(event)
{
  myObject.someFunction();
}, false);

このプロセスで他に注意すべき点はありますか?

4

1 に答える 1

2

通常、イベント リスナーは自動的にクリーンアップされるため、手動で削除する必要はありません。イベント リスナーを削除したい場合は、次の方法が適切です。

var theListener = function (event) { ... };
item.addEventListener("command", theListener, false);
item.removeEventListener("command", theListener, false);

両方の呼び出しで 3 番目のパラメーターが一致していることを確認することを忘れないでください :)

于 2012-12-19T16:12:39.407 に答える