jquery给不存在的元素添加事件的方法:1、【jquery1.9】版本之前,使用live方法,代码为【$(“#id”).live(“click”, function ()】;2、【jquery1.9】版本之后,使用On方法。
本教程操作环境:windows7系统、jquery3.2.1&&jquery1.9版本,DELL G3电脑。
推荐:jquery视频教程
jquery给不存在的元素添加事件的方法:
问题 :
jquery中给元素添加事件是很简单的,如:添加一个点击事件。
$(选择器).click(function(){ );
登录后复制
但是,项目中做了ajax分页,第一页直接加载,使用上述方法,完全没有问题。但是用在使用ajax分页,其它页的内容,都是后面通过innerHTML来进行添加,添加后的元素就没有相关的事件了。
其实,原因也很好理解就是在最开始添加事件时,其它页的元素并不存在,后面通过innerHTML添加后,标签是有了,但是对应的事件却是没有的。
那么,如何解决上面的总结呢??给不存在的元素也添加事件
解决方案:
使用live方法 : 给不存在的元素,绑定事件
$("#id").live("click", function () { alert("ok"); });
登录后复制
但是,jquery 1.9+版本后,就删除了live方法. 那用什么方法来替换live呢?
答案,就是使用on方法
$("#id").on("click",function(){ alert("ok"); });
登录后复制
但是,使用了on方法,发现还是无效 ,语法没有问题,那为啥没效,答案是不应该这样写,如果是给不存在的元素添加事件,
要使用以下的写法:
$(document).on("click",'#id', function(){ alert("ok"); });
登录后复制
使用,以上的写法,问题就解决了.
相关免费学习推荐:javascript(视频)
以上就是jquery如何给不存在的元素添加事件的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2719234.html