今天在工作中遇到一个问题:就是页面追加新增的HTML不受jquery影响。
比如某个class的变化事件:
$(function() {
$(".addStockBtn").click(function() {
alert('hello world');
});
});
当页面初始就有该class的元素是可以的,可以打印出hello word,但未来元素却不受影响。
比如,现在通过ajax请求,获取到一些数据后,然后把这些数据写入到HTML页面中,
如果这些新添加的元素也包含该class元素,点击它,却是不能打印出hello word的。
解决办法:将之前代码改为live绑定
$(function() {
$(".addStockBtn").live('click',function() {
alert('hello world');
});
});
这样新的元素点击也能调用该方法了。