小编典典

jQuery 查找向对象注册的事件处理程序

all

我需要找到在对象上注册了哪些事件处理程序。

例如:

$("#el").click(function() {...});
$("#el").mouseover(function() {...});

$("#el")已注册 单击鼠标悬停

是否有一个函数可以找出它,并可能遍历事件处理程序?

如果通过适当的方法在 jQuery 对象上是不可能的,那么在普通的 DOM 对象上是否可能?


阅读 98

收藏
2022-03-08

共1个答案

小编典典

从 jQuery 1.8 开始,事件数据不再可从“公共 API”获取数据。您现在应该改用它:

jQuery._data( elem, "events" );

elem应该是 HTML 元素,而不是 jQuery 对象或选择器。

请注意,这是一个内部的“私有”结构,不应修改。仅将其用于调试目的。

在旧版本的 jQuery 中,您可能必须使用旧方法,即:

jQuery( elem ).data( "events" );
2022-03-08