刪除定義內的JavaScript 事件監聽器
在JavaScript 中使用事件監聽器時,可能存在需要刪除監聽器的情況來自另一個偵聽器的定義。當滿足特定條件(例如達到特定點擊次數)時,可能會發生這種情況。
解決方案:
要刪除其自身定義內的事件偵聽器,您可以利用命名函數。不要將匿名函數指派給 addEventListener() 方法,而是建立一個命名函數並將其傳遞為第二個參數。
在此範例中,myClick 是指派給 addEventListener() 方法的命名函數。當點擊事件被觸發時,myClick 函數會遞增 click_count 變數。如果計數達到 50,則使用removeEventListener() 刪除偵聽器。
替代方法:
如果需要使用匿名函數或關閉點擊計數器變量,您可以建立一個閉包。閉包允許內部函數從其外部作用域存取變量,即使在外部函數完成執行之後也是如此。
這裡,myClick 函數建立了一個內部閉包,它封裝了處理函數和click_count 變數.
多個監聽器:
如果您需要新增多個監聽器計數器,您可以建立一個高階函數,產生一個帶有自己的計數器的新函數。
以上是如何從 JavaScript 事件監聽器自己的定義中刪除它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!