Check if an element has event listener on it. No jQuery [duplicate] Ask Question

Check if an element has event listener on it. No jQuery [duplicate] Ask Question

以下のコードのようにインライン関数を使用する場合、要素にイベント リスナーがあるかどうかを確認するにはどうすればよいでしょうか。関数を呼び出してイベント リスナーを追加する関数がありますが、イベント リスナーが重複して関数が 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'));

免責事項: このソリューションは、クロム開発者ツール。

おすすめ記事