我有一個問題,我將一個函數分配給onmouseout事件,但在運行事件後,我需要將其刪除。將非常感謝您的幫助。如何在分配函數後刪除onmouseout事件?
3
A
回答
9
這取決於你的代碼,如果你這樣做與D3,那麼你可以說
您的onmouseout事件函數裏面:
element.on("mouseout",func);
function func(){
/*do your stuff*/
element.on("mouseout",null);
}
如果通過類似的事件屬性綁定的事件<div onmouseout="..." >
那麼你必須重構這個。在這種情況下,只需使用d3 on()
函數來綁定事件。
如果要將多個處理程序綁定到同一個事件,則可以使用namespacing:通過將.name
附加到事件,可以更具體地解決它們。
+0
:d非常感謝你你的幫助非常有用。 –
3
我假設你添加了你的事件偵聽器d3
's on
event。其用於去除的事件的文檔是這樣的:
如果事件偵聽器已經註冊了 所選元素在相同類型,現有的監聽器中加入新的 聽者前除去。要爲同一事件 類型註冊多個偵聽器,該類型後面可以跟隨一個可選的命名空間,如 「click.foo」和「click.bar」。要刪除偵聽器,請將空值作爲 偵聽器。
我無法更正您的代碼,因爲您沒有添加任何代碼。
0
另一種方法是使用jQuery:
$(element).bind("mouseout", myFunction);
$(element).unbind("mouseout");
你也可以使用一個可選的命名空間中的第一個參數,如:
"mouseout.myNamespace"
有了這個命名空間,你可以綁定/解除綁定同一類型的多個事件。
另一件事,也許是有趣的你: jQuery stopPropagation
相關問題
- 1. 如何在onClick函數後忽略onMouseOut?
- 2. 刪除.append onmouseout jQuery
- 3. Javascript onmouseout事件
- 4. 約onmouseout事件
- 5. 如何刪除onmouseout上的href?
- 6. 如何與事件更新MySQL數據和刪除事件後
- 7. 在javascript中爲事件分配函數
- 8. 在IE11中刪除事件偵聽器函數後調用
- 9. 如何在此函數中正確刪除事件偵聽器
- 10. Raphael.js onmouseover onmouseout事件
- 11. onmouseout事件控制
- 12. 刪除事件asp.net;如何檢查後已被刪除或不
- 13. 如何刪除堆上分配變量函數返回
- 14. 函數後刪除數組?
- 15. 如何在刪除對象後使核心數據解除分配內存?
- 16. 如何刪除事件?
- 17. 如何刪除事件?
- 18. 如何刪除Click事件?
- 19. 如何在60分鐘後刪除sharedpreference
- 20. 在代碼後面刪除asp.net事件
- 21. GridView在行刪除事件後隱藏
- 22. 清除完整日曆後事件刪除後的數據
- 23. 如何防止onmouseover事件爲其父級激活onmouseout事件?
- 24. 如何在分頁呈現數據表後刪除分頁
- 25. onmouseout事件不工作
- 26. 保證onmouseout事件發生
- 27. 如何在VB.NET刪除事件處理
- 28. 將函數分配給事件處理函數後,變量保持不變
- 29. 如何刪除Bash函數?
- 30. 如何在事件處理程序被觸發後刪除它?
請出示你的代碼 – Kristian
參考:https://github.com/mbostock/d3/wiki/Selections#wiki-on –