从数据库读图片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了,哈哈