为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery查找在对象中注册的事件处理程序。

jQuery查找在对象中注册的事件处理程序。

慕容森 2019-06-03 16:58:00
jQuery查找在对象中注册的事件处理程序。我需要找到在对象上注册的事件处理程序。例如:$("#el").click(function() {...});$("#el").mouseover(function() {...});$("#el")有点击和滑鼠注册了。是否有一个函数可以找出这一点,并可能对事件处理程序进行迭代?如果不可能通过适当的方法对jQuery对象进行处理,那么在普通的DOM对象上是否有可能呢?
查看完整描述

4 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

从jQuery1.8开始,事件数据不再可以从数据的“公共API”中获得。朗读,阅读这个jQuery博客文章..现在应该使用以下方法:

jQuery._data( elem, "events" );

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

请注意,这是一个内部的,‘私有’的结构,不应该被修改。仅用于调试目的。

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

jQuery( elem ).data( "events" );


查看完整回答
反对 回复 2019-06-03
?
守候你守候我

TA贡献1802条经验 获得超10个赞

对于jQuery 1.8+,这将不再有效,因为内部数据被放置在不同的对象中。

现在,非官方的(但在以前的版本中也起作用,至少在1.7.2中)是这样做的-$._data(element, "events")

下划线(“_”)是这里的区别所在。在内部,它正在调用$.data(element, name, null, true),最后(第四个)参数是内部参数(“pvt”)。


查看完整回答
反对 回复 2019-06-03
  • 4 回答
  • 0 关注
  • 644 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信