![](/img/trans.png)
[英]How can i know which element activated a click event in javascript?
[英]How can I remove a click event from an element in Javascript?
我有一個<div>
元素,它使用以下代碼附加了一個點擊事件:
var id = "someId";
var elem = document.getElementById("elemId");
elem.addEventListener("click", function() { someFunction(id); }, false);
稍后我復制元素並將其添加到DOM
的另一部分,但需要先刪除click
事件
var elem = document.getElementById("elemId");
elem.removeEventListener("click", ???? , false);
我不確定如何引用偵聽器,到目前為止,我沒有嘗試過從元素中刪除事件。
有任何想法嗎?
將匿名點擊處理程序 function 移出addEventListener
調用:
var id = "someId";
var elem = document.getElementById("elemId");
var elemEventHandler = function() { someFunction(id); };
elem.addEventListener("click", elemEventHandler , false);
之后,您應該能夠:
var elem = document.getElementById("elemId");
elem.removeEventListener("click", elemEventHandler , false);
上面的答案是正確的。 但是,以防萬一,有人希望刪除onclick
function ,它連接到這樣的按鈕,例如
<button type="button" onclick="submit()" id="tour-edit-save">Save</button>
在這種情況下,要刪除onclick
附加的 function,必須刪除屬性onclick
,這樣可以正常工作。 這是使用純JavaScript
刪除的方法
document.getElementById('tour-edit-save').removeAttribute('onclick');
使用jquery
$('#tour-edit-save').removeAttr('onclick');
希望這對正在尋找此答案的人有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.