我目前正试图找出什么点击事件处理程序已附加到我的股利。应该只附加一个处理程序,但似乎至少有一个。我使用FireBug,但Chrome也可以作为选项。我不喜欢IE浏览器,所以我不想使用它。有没有工具/技术来调试jQuery事件处理程序?
最好的情况是我可以使用FireBug检查我的div,并查看事件处理程序的列表。
我目前正试图找出什么点击事件处理程序已附加到我的股利。应该只附加一个处理程序,但似乎至少有一个。我使用FireBug,但Chrome也可以作为选项。我不喜欢IE浏览器,所以我不想使用它。有没有工具/技术来调试jQuery事件处理程序?
最好的情况是我可以使用FireBug检查我的div,并查看事件处理程序的列表。
Visual Event是一个不错的JavaScript书签,您可以在页面上运行以查看所有附加到控件的事件。
我很喜欢这个 – MedicineMan 2011-03-04 22:34:48
它似乎还没有揭示真正处理事件的函数,只是表明jquery以某种方式听 – Dukeatcoding 2014-01-14 12:36:06
如果您正在使用jQuery来分配你的事件处理程序。如果你希望得到现场处理,你可以做同样的事情的文件,你可以通过$("div").data("events");
$("div.test").each(function(){
var events = $(this).data("events");
//events.click will give you a list of click handlers, events.mouseenter, etc..
$.each(events, function(i, eventType){
$.each(eventType, function(){
//this.handler() can be used to find the anonymous function assigned to the element.
$("body").append("<h1>" + this.type + "</h1>");
});
});
});
找到连接事件。
var liveEvents = $(document).data("events").live;
$.each(liveEvents, function() {
$("body").append("<h1>" + this.selector + this.origType + "</h1>");
});
jsfiddle上的示例。
这似乎不适用于jQuery 1.10。在$(element).on(“custom-event”,function(){console.log(“hi”);})''后检查'$(element).data('events')''我得到' undefined',但是'$(element).trigger(“custom-event”)'会触发回调。 – 2013-12-06 11:01:19
检出$ .data函数。
具体是这样的:
VAR点击= $(mySelector)。数据( '事件'),单击;
应返回一个单击事件处理程序及其关联的DOM对象的列表。
不错,简单 – MedicineMan 2011-03-04 19:28:47
“fire-bug”附加组件(对于mozilla)是最好的选择。
'最好的情况是我可以使用FireBug检查我的div,并查看事件处理程序的列表。' – SLaks 2011-03-04 19:17:19
我安装了萤火虫并且一直在使用它。接下来是什么? – MedicineMan 2011-03-04 19:28:32
@MedicineMan ::适用于dubugging的中断点。 – 2011-03-04 19:30:27
安装fireQuery插件萤火虫,你会看到所有的jQuery附加事件在萤火虫显示,就像你希望;)
你可以在这里找到:http://firequery.binaryage.com/或在这里:https://addons.mozilla.org/en-us/firefox/addon/firequery/
它会让你的萤火虫看起来像这样:
我希望Chrome有这个功能 – Trip 2012-08-16 16:15:43
怎么样'活着'处理程序? – SLaks 2011-03-04 19:08:25
他们呢? – MedicineMan 2011-03-04 19:27:26
我喜欢这个问题和一个更多的马方 – 2011-03-04 19:30:57