繁体   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