javascript中是否有方法检测元素是否附加了任何事件?

javascript中是否有方法检测元素是否附加了任何事件?,javascript,jquery,html,Javascript,Jquery,Html,我在页面上有一个链接列表,有时它们会附加事件,有时则没有(它们只是什么都不做)。我想说,‘如果这个元素没有事件处理程序(基本上它什么都不做),那么就给它添加一个disabled类。我在谷歌上搜索了一下,但没有找到任何用于检测事件处理程序的东西。有人知道这样做的方法吗?这会给你一个事件列表: jQuery(theElement).data('events'); 你可以试试这个: $("element").data("events"); 我使用以下在IE、FF和Chrome中测试过的工具: if

我在页面上有一个链接列表,有时它们会附加事件,有时则没有(它们只是什么都不做)。我想说,‘如果这个元素没有事件处理程序(基本上它什么都不做),那么就给它添加一个disabled类。我在谷歌上搜索了一下,但没有找到任何用于检测事件处理程序的东西。有人知道这样做的方法吗?

这会给你一个事件列表:

jQuery(theElement).data('events');
你可以试试这个:

$("element").data("events");

我使用以下在IE、FF和Chrome中测试过的工具:

if(typeof document.getElementById("elementname").onchange === "function"){ 
    alert("has a function");
} else {
    alert("no function");
}

重复?->重复的问题……好的,我把它放在控制台$(“#viewSaleSheet”).data(“事件”)中,它返回了一个对象,该对象在其内部有一个单击,但此链接没有附加任何单击事件。为什么要这样做?@Tanya是
#viewSaleSheet
一个锚定标记?这就是:@Tanya因为你有一个
href
,控制台将其视为onclick事件,删除该href,现在尝试
$(“#viewSaleSheet”).data(“events”)
。您将不会看到任何绑定的事件。