[解決済み】特定のタイプのイベントリスナーをすべて削除する
2022-04-11 05:56:08
質問
を使用して追加された、特定のタイプのイベントリスナーをすべて削除したい。
addEventListener()
. 私が見ているすべてのリソースは、あなたがこれを行う必要があると言っています。
elem.addEventListener('mousedown',specific_function);
elem.removeEventListener('mousedown',specific_function);
でも、このように現状を把握せずにクリアできるようにしたいのです。
elem.addEventListener('mousedown',specific_function);
elem.removeEventListener('mousedown');
解決方法は?
をインターセプトしないと不可能です。
addEventListener
を呼び出してリスナーを追跡するか、残念ながらそのような機能を持つライブラリを使ってください。リスナーコレクションにアクセスできればよかったのですが
の機能は実装されていませんでした。
.
最も近い方法は、要素のクローンを作成してすべてのリスナーを削除することですが、これではリスナーコレクションをクローンすることはできません。
注:これは、要素の子要素のリスナーも削除します。
var el = document.getElementById('el-id'),
elClone = el.cloneNode(true);
el.parentNode.replaceChild(elClone, el);
関連
-
[解決済み】JavaScriptで「無効な日付」のDateインスタンスを検出する
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] JavaScriptの配列で一意な値をすべて取得する(重複を排除する)。
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] 動的に生成された要素にイベントバインディングを行うか?
-
[解決済み] どのDOM要素にフォーカスがあるかを調べるには?
-
[解決済み] JavaScriptやデバッグでDOMノード上のイベントリスナーを見つけるには?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】React Js: Uncaught (in promise) SyntaxError: 位置 0 の JSON で予期しないトークン < が発生しました。
-
[解決済み】TypeError: 'undefined'はオブジェクトではありません。
-
[解決済み] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングした
-
[解決済み】NodeJS "ESモジュールをロードするためにインポートを使用する必要があります。"
-
[解決済み】BootstrapのCollapseが折りたたまれない
-
[解決済み】未定義のプロパティ 'bind' を読み込めない。React.js【重複あり
-
[解決済み】WebpackとBabelで「このファイルタイプを扱うには適切なローダーが必要な場合があります。
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】Uncaught SyntaxError: JSON の位置 0 に予期しないトークン u があります。
-
[解決済み】TypeError: AngularJSで未定義のプロパティ'get'を読み取れない