之前写jQuery中的一般情况如下:

$("#ID").on('event',function(){
	……
});

这样写就会存在个问题就是,如果页面中的id为’ID’的元素为动态加载,那么绑定的这些事件就会失效。

后来再网上也有用live解决的,后来再官方文档中发现

on() 方法在被选元素及子元素上添加一个或多个事件处理程序。
自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。
注意:使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。
提示:如需移除事件处理程序,请使用 off() 方法。
提示:如需添加只运行一次的事件然后移除,请使用 one() 方法。

因此后面的还是没有采用live的解决办法,解决办法如下

$(document).on('click','div[name=addGoods]',function () {
	……
});

关于jQuery on 对于动态加载元素失效的问题。
关于jQuery on 对于动态加载元素失效的问题。

相关文章: