以下のコードのようにインライン関数を使用する場合、要素にイベント リスナーがあるかどうかを確認するにはどうすればよいでしょうか。関数を呼び出してイベント リスナーを追加する関数がありますが、イベント リスナーが重複して関数が 2 回トリガーされることになります。イベント リスナーが既に存在する場合に、イベント リスナーが追加されないようにするには、どうすればよいでしょうか。
for (var a = 0;a<formFieldInput.length;a++) {
if(formFieldInput[a].hasAttribute("name") && formFieldInput[a].attributes.title.value !== "Valid Until") {
formFieldInput[a].addEventListener("click",function(event) {
toggleFieldList(event,"show");
});
}
ベストアンサー1
2016 年以降、Chrome Dev Tools コンソールでは、以下の関数をすばやく実行して、要素にアタッチされているすべてのイベント リスナーを表示できます。
getEventListeners(document.querySelector('your-element-selector'));
免責事項: このソリューションは、クロム開発者ツール。