簡體   English   中英

如何使用javascript或jquery獲取或獲取按鈕單擊事件偵聽器

[英]How to get or fetch button click event listener using javascript or jquery

在JavaScript或jQuery中是否可以獲取或獲取按鈕元素的click事件監聽器? 怎么樣?

例如HTML

<button id="btn1">Button 1</button> 

和jQuery的:

$("#btn1").on("click", function() {
     alert("Test");
});

我想做這樣的事情。

// this is what i'm asking ( capture the click event of the button 1)
var f = $("#btn1").attr("onclick") --> undefined;

$("#btn1").on("click", function() {
     somefunction();
     f();

});

您可以使用元素的onclick屬性來獲取onclick偵聽器(即,使用HTML節點onclick屬性或相應DOM元素的onclick屬性附加的代碼)。

 var button = document.querySelector("#the-button"); var onclick = button.onclick; console.log(onclick); onclick() 
 <button id="the-button" onclick="alert('thing');">thing</button> 

附加到addEventListener偵聽器不能通過設計獲取

可能會附帶jQuery附帶的偵聽器。 您可以查看此問題以獲取更多信息。 但是,我強烈建議您不要這樣做。 它基本上包括對庫進行黑客攻擊(即訪問您不應該訪問的數據),並且從一個版本到另一個版本是高度不一致的。

無論如何,如果要向按鈕添加其他行為而不覆蓋以前的行為,則無需保存它。 addEventListener或jQuery的on不會刪除任何以前連接監聽器。

 var button = document.querySelector("#the-button"); button.addEventListener("click", function(){ alert('something else'); }); 
 <button id="the-button" onclick="alert('thing');">thing</button> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM