如何查看哪个jQuery函数绑定到该元素?

时间:2010-04-29 23:41:34

标签: javascript jquery firebug

我在javascript中找到了一个具有我需要的功能的网站。它使用jQuery,当我点击一个标签时,会执行一些函数,所以jQuery为标签设置了一个绑定。但是我怎样才能找出哪个函数与它绑定在一起呢?萤火虫没有向我展示:(

2 个答案:

答案 0 :(得分:9)

如果你想看一个元素的click事件处理程序,你会得到第一个这样的处理程序:

$("#element").data("events").click[0].handler

这将使您运行该功能。 Here's an example page showing that

以下是一个例子:

$("a").click(function() {
  alert($("a").data("events").click[0].handler);
});​

点击后,会发出警告:function() { alert($("a").data("events").click[0].handler); }

这只是使用click的一个示例,但无论您需要什么工作,mouseenterfocus,无论事件是什么,包括自定义事件。

顺便说一句,如果你想循环遍历一个元素或集合的所有事件处理程序,这可行,只需将选择器更改为你所追求的(here's the same example updated to include this):

$.each($("a").data("events"), function(i, e) {
  $.each(e, function(j, h) {
    alert('Event: ' + i + '\nHandler:\n' + h.handler);
  });
});

答案 1 :(得分:1)

您是否尝试过使用FireQuery?应该安装在每个人的Firefox / Firebug设置中。