你如何用jQuery 1.7+检查与.on()绑定的事件?

时间:2012-10-17 21:05:13

标签: jquery

这样做的旧版本似乎不起作用..

$(".object").data('events');

..当我与此绑定时:

$(document).on("click", ".object", awesomePossumFunction() );

这不显示事件:

$(".object").data('events');

3 个答案:

答案 0 :(得分:3)

我建议您不要使用.data('events'),它已从较新版本的jQuery中删除。您可以在较新版本的jQuery中的新位置访问它,但也不建议这样做,因为它可能会发生变化。

参考:http://bugs.jquery.com/ticket/10589

该票证的重要部分是在1.7中,对事件对象进行了更改,导致使用.data('events')的代码无法正常运行。新位置为jQuery._data(elem, "events")

小提琴:http://jsfiddle.net/6PxFx/

答案 1 :(得分:2)

如果检查绑定到的实际元素上的事件,它应该可以正常工作:

$(document).on("click", ".object", awesomePossumFunction); //binds to document

var events  = $.data(document, 'events');  //jQuery 1.7.2 and below
var events2 = $._data(document, 'events'); //jQuery 1.8 ++

FIDDLE

答案 2 :(得分:0)

你的第二行是我从未使用过的。处理程序可能未在您希望的位置注册。 我会这样做:

$(".object").on("click", awesomePossumFunction());

如果这有任何好处,请告诉我。