如何檢查一個元素是否有事件監聽器,如果我使用它的內聯函數就像下面的代碼。因爲我有一個函數調用函數並添加事件偵聽器,但它導致重複事件偵聽器導致它觸發一個函數兩次。所以我怎麼檢查它,所以我可以阻止它添加一個事件監聽器,如果它已經存在。謝謝! :D檢查一個元素是否有事件監聽器。沒有jquery
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");
});
}
您可以在添加它之前將其刪除 – dandavis 2015-01-20 23:02:40
添加監聽程序和附加屬性(如「data-listener = true」)是否更容易,然後檢查是否設置了「data-litener」如果不是,添加監聽器? – pawel 2015-01-20 23:02:43
您還可以使用直接分配來綁定每個事件處理程序,例如:formFieldInput [a] .onclick = function(){...};當你替換那些時,舊的只會消失而沒有併發症... – dandavis 2015-01-20 23:08:48