js/jq动态加载出来的元素无法被监听的解决方案

本文介绍了js/jq 动态添加的元素不能触发绑定事件解决方案,如果jquery版本是在1.3-1.8之间的话,js/jq动态添加的元素触发绑定事件的解决方法。

   请看看你们的版本并对号入座:

    jquery1.6版本以下都不支持on委托事件

    jquery1.3 至 jQuery1.8版都支持live委托事件

    jquery1.9 以后的版本不支持live委托事件,但是on事件可以替代live

jquery1.3版本以下的(不包括jquery1.3),是时候更新你的jquery版本了。因为 无解无解无解无解无解无解

如果jquery版本是在1.3-1.8之间的话,js/jq动态添加的元素触发绑定事件的解决方法(不建议用on事件,因为1.6版本以下不支持on事件,会报错)

click例子$('element').live('click',function(){})element可以是动态生成的元素,可以是它的类或者id

登录后复制

如果jquery版本是在1.9或者更高的话,live委托事件是被移除的,通过on来实现。js/jq动态添加的元素触发绑定事件的解决方法

注意注意:如果页面同时存在低版本的jq(1.3-1.8)和高版本jq(jquery1.9以上)的话,live委托事件会被高版本移除,最后导致虽然有jquery版本是在1.3-1.8之间,使用了live事件,页面会报错。

click例子$('父元素').on('click', '子元素', function(){})

登录后复制

此时动态加载出来的元素一定要在$(‘父元素’)里面,否则绑定事件失效。换句话说,本应该绑定A元素,但是A元素是动态生成的,所以jq应该获取A元素的父元素来监听A元素是否发生click事件。 
举个例子

nbsp;html>    js/jq 动态添加的元素不能触发绑定事件解决方案

    My name is

$('.a-Box').on('click', 'a', function(){ alert('Jachin'); }) $('button').click(function(){ $('p').append('My name is
'); })

登录后复制

这样就可以完美解决动态加载出来的元素无法被监听。

最后附上个版本的jquery


登录后复制

以上就是js/jq动态加载出来的元素无法被监听的解决方案的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2745439.html

(0)
上一篇 2025年3月8日 03:44:54
下一篇 2025年2月18日 00:20:49

AD推荐 黄金广告位招租... 更多推荐

发表回复

登录后才能评论