jq ajax点击事件绑定,如何检查click事件是否已绑定-JQuery

在jQuery1.8中,通过.data('events')访问元素事件已废弃,推荐使用jQuery._data(elem,'events')替代。文章提供了一个检查元素事件绑定的插件方法,并展示了如何确保代码只被调用一次,从而避免性能问题。
摘要由CSDN通过智能技术生成

f642d03fa1e3bf5d17b1963cb5daf8f8.png

跃然一笑

2012 年8月24日:在jQuery 1.8中,不再可以使用来访问元素的事件.data('events')。(有关详细信息,请参见此bug。)可以使用jQuery._data(elem, 'events')内部数据结构访问相同的数据,该内部数据结构未记录,因此不能保证100%保持稳定。但是,这应该不成问题,并且上面插件代码的相关行可以更改为以下内容:var data = jQuery._data(this[0], 'events')[type];jQuery事件存储在名为的数据对象中events,因此您可以在其中进行搜索:var button = $('#myButton');if (-1 !== $.inArray(onButtonClicked, button.data('events').click)) {    button.click(onButtonClicked);}当然,最好是可以构造应用程序,以使该代码仅被调用一次。可以将其封装到插件中:$.fn.isBound = function(type, fn) {    var data = this.data('events')[type];    if (data === undefined || data.length === 0) {        return false;    }    return (-1 !== $.inArray(fn, data));};然后,您可以致电:var button = $('#myButton');if (!button.isBound('click', onButtonClicked)) {    button.click(onButtonClicked);}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值