jquery:为动态加载的元素添加点击事件

最近在做项目的时候遇到了这样一个问题,给用ajax动态加载出来的内容添加点击事件,但是怎么都触发不了,经过查询试验总结出正确的写法

在jquery1.7之前的版本中用的是live()方法,但是live()方法在1.7中已经不建议使用,1.9中删除了这个方法

live()方法适用于匹配选择器的当前及未来的元素(例如有脚本创建的新元素)

重点是自jquery1.7版本起,on()方法是bind()、live()、delegate()方法的新的替代品

on()方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)

 $("#mainbody").on("click",".link",function(){
  });

on前面的这个#mainbody一定要是html中存在的,静态的,否则点击事件触发不了

".link"是动态加载出来的内容,它的class=".link"

on方法在什么条件下都是成立的

用jquery:为动态加载的元素添加点击事件其实也可以用

$(".link").click(function(){
});

只不过是有限制的,这个点击事件要和动态加载的内容在同一作用域中才行

posted on 2018-03-15 15:55  刘世涛6192  阅读(7545)  评论(0编辑  收藏  举报