【转】jQuery给动态添加的元素绑定事件的方法

从数据库读图片url,动态写在html上,为每个图片添加点击事件,发现$('img').click(function(){...});不管用。

以下是在脚本之家找到的方法:传送门   http://www.jb51.net/article/61915.htm

本文实例讲述了jQuery给动态添加的元素绑定事件的方法。分享给大家供大家参考。具体分析如下:

jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定。在1.7版本以前使用live。但是在1.8版本以后推荐使用on。这里介绍jQuery中如何给动态添加的元素绑定事件
在实际开发中会遇到要给动态生成的html元素绑定触发事件的情况

例如

1 <div id="testdiv">
2   <ul></ul>
3 </div>

需要给<ul>里面动态添加的<li>标签添加click事件
 
jquery 1.7版以前使用live动态绑定事件

1 $("#testdiv ul li").live(
2           "click",
3           function(){
4           }
5 );

jquery 1.7版以后使用on动态绑定事件

1 $("#testdiv ul").on(
2            "click",
3            "li", 
4            function() {  
5                //do something here  
6 });

希望本文所述对大家的jQuery程序设计有所帮助。

********************我是分割线************************

我还没看到这个之前,我自己的解决方案是在动态生成的标签语句中,直接写一个onclick方法,传递参数this.id或this对象可以进行点击操作。不过相比上面这种,我这个就有点low了,哈哈

原文地址:https://www.cnblogs.com/6luv-ml/p/7385322.html