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

测试事件处理程序是否绑定到jQuery中的元素

测试事件处理程序是否绑定到jQuery中的元素

慕姐8265434 2019-07-31 18:29:43
测试事件处理程序是否绑定到jQuery中的元素是否可以确定元素是否具有单击处理程序,或更改处理程序,或使用jQuery绑定到它的任何类型的事件处理程序?此外,是否可以确定它对于给定类型的事件有多少点击处理程序(或任何类型的事件处理程序),以及事件处理程序中有哪些功能?
查看完整描述

3 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

您可以从数据缓存中获取此信息。


例如,将它们记录到控制台(firebug,ie8):


console.dir( $('#someElementId').data('events') );

或者迭代它们:


jQuery.each($('#someElementId').data('events'), function(i, event){


    jQuery.each(event, function(i, handler){


        console.log( handler.toString() );


    });


});


查看完整回答
反对 回复 2019-07-31
?
墨色风雨

TA贡献1853条经验 获得超6个赞

当绑定不存在时终止绑定不是最好的解决方案,但似乎足够有效!第二次“点击”时,您可以肯定地知道它不会创建重复的绑定。

因此我使用die()或unbind(),如下所示:

$("#someid").die("click").live("click",function(){...

要么

$("#someid").unbind("click").bind("click",function(){...

或者在最近的jQuery版本中:

$("#someid").off("click").on("click",function(){...


查看完整回答
反对 回复 2019-07-31
  • 3 回答
  • 0 关注
  • 369 浏览
慕课专栏
更多

添加回答

举报

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