大家都知道给某个元素绑定事件很简单(对页面上的静态的是这样的)
//通过id绑定
$("#test").click(function(){
//这就可以绑定
});
但是如何给动态生成的元素绑定事件呢?
比如ajax请求获得数据,在页面上显示出来,同时需要给相关数据绑定事件,来改变数据
jquery 1.7之后是通过 .on('click',function(){
});给新生成的元素绑定事件,但是这个绑定事件的代码位置是有讲究的,那就是必须放在生成元素的后面,否则是选取不到元素的
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("p").on("click",function(){
alert("段落被点击了。");
});
//方式1:
$(".newClass").on('click',function(){//绑定失败!
alert("成功啦!");
});
$("#test").append("<p class='newClass'>xinduanluo</p>");
//方式二//绑定成功
$("#test").append("<p class='newClass'>xinduanluo</p>");
$(".newClass").on('click',function(){//绑定失败!
alert("成功啦!");
});
});</script></head><body><p>点击这个段落。</p><p id="test">测试段落</p></body></html>