加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax动态刷新元素js事件失效

发布时间:2020-12-16 02:09:15 所属栏目:百科 来源:网络整理
导读:工作中遇到一个情况,通过Ajax动态刷新某一区域后,原来绑定在这些dom元素上的js事件就失效了,定位了半天也不知道原因在那,后来查了资料发现动态刷新后的区域Dom元素是重新生成,所以页面之前的js不会动态绑定到新生成的元素上,这怎么解决呢,这里就用到

工作中遇到一个情况,通过Ajax动态刷新某一区域后,原来绑定在这些dom元素上的js事件就失效了,定位了半天也不知道原因在那,后来查了资料发现动态刷新后的区域Dom元素是重新生成,所以页面之前的js不会动态绑定到新生成的元素上,这怎么解决呢,这里就用到了jQuery的事件委托机制来实现,示例代码如下:

jQuery1.7版本以前可以通过live事件委托方式:

$(selector).live("click",function(){
    // 事件逻辑
});

1.7版本后jQuery废除了live事件,而是采用了统一的api方式,这样对程序开发人员来说是个好消息,不用记那么多api了,统一用on的方式调用:

$(document).on("click",selector,function(){
    // 事件逻辑
})
这里如果是用新版本推荐用on的方式,document尽量是要绑定事件的最小包含元素,比如父元素,这样性能会更好,selector则是要绑定元素的选择器。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读