jQuery .off()
API只能刪除使用其自己的on
(或bind
jQuery)方法添加的事件,許多第三方插件可能使用純javascript添加事件,並且由於瀏覽器兼容性問題,是否有任何單代碼行,可以更容易地做到這一點?刪除元素上事件偵聽器的最佳方法是什麼?
2
A
回答
4
如果有.addEventListener()
,那麼唯一的辦法是添加一個事件處理程序來刪除它是.removeEventListener()
,這意味着你需要知道的處理函數也爲了使用.removeEventListener()
所以如果一個匿名函數作爲處理程序,那麼無法刪除事件監聽器。
在某些情況下,清除DOM元素的所有事件偵聽器的重負手段是用相同類型的新元素(可能在保留子元素時保留這些元素)替換它。這顯然是一個鈍器,因爲它將清除與之前的DOM元素相關的所有狀態。
+0
謝謝,用匿名函數刪除事件我覺得有點麻煩。 – Allen
1
如果通過jQuery.on()
添加活動,則可以使用jQuery.off()
將其刪除。
如果通過jQuery.bind()
添加事件,則可以使用jQuery.unbind()
將其刪除。
如果在純JavaScript中添加純.addEventListener()
事件,則可以使用.removeEventListener()
將其刪除。
0
如果事件是由插件添加的,所以您不會知道方法如何添加事件,因此爲了確保事件被刪除,您需要清除DOM元素並創建一個與該元素相同的新元素這是刪除...
相關問題
- 1. 刪除元素是否也會刪除其事件偵聽器?
- 2. HTML元素上的事件偵聽器
- 3. 什麼是刪除佈局元素的最佳方法
- 4. 在刪除元素之前是否需要刪除事件偵聽器?
- 5. 的JavaScript:在元素中刪除事件偵聽器
- 6. JQuery - 刪除元素中的所有事件偵聽器
- 7. 處理偵聽和觸發事件的元素/對象的最佳方法是什麼?
- 8. 如何從DOM元素中刪除事件偵聽器?
- 9. 的NodeJS刪除事件偵聽器
- 10. 刪除新庫的事件偵聽器
- 11. 刪除重複的事件偵聽器
- 12. 刪除Dojo dGrid的事件偵聽器
- 13. 無法從DOM元素中移除事件偵聽器
- 14. 在自動創建的多個元素上刪除事件偵聽器
- 15. 如何刪除事件偵聽器?
- 16. 如何刪除事件偵聽器?
- 17. Chrome刪除事件偵聽器?
- 18. gmap3刪除事件偵聽器
- 19. Hammer.js不能刪除事件偵聽器
- 20. 刪除事件偵聽器3
- 21. 清除CSS中浮動元素的最佳方法是什麼?
- 22. 添加並立即刪除事件偵聽器的目的是什麼?
- 23. 向下一個元素添加/刪除類的最佳方法是什麼?
- 24. 什麼是使用引用刪除數組元素的最佳方法
- 25. 從數組中刪除第一個元素的最佳方法是什麼?
- 26. 刪除React組件上的事件偵聽器卸載
- 27. 將事件偵聽器附加到組件模板中的元素的正確方法是什麼?
- 28. 使用JQuery,爲單選按鈕設置onclick事件偵聽器的最佳方法是什麼?
- 29. 什麼是從IE中刪除DOM元素的最快方法?
- 30. 刪除超過100,000個文件的最佳方法是什麼?
取決於如何添加事件太多。它也可能是整個文檔中的一個監聽器,它在接收事件時檢查匹配的選擇器。 – Nit