如果使用Jquery给元素绑定事件,一般会用bind,或者类似click函数来直接绑定。
但是对于动态生成的元素,会发现常规绑定无法生效,比如:
<div class'div'></div>
动态给div添加元素:
$('.div').append($('<a>点我</a>'))
此时如果想给div下的a绑定事件,使用:
$('.div>a').click(function(event){
alert('点击成功');
});
将发现无法触发alert。
在jquery 1.7 及之前的版本,可以使用live来绑定这种事件,如:
$('.div>a').live("click",function(){
alert('点击成功');
});
在jquery 1.8 以后,只能用on来绑定,切注意动态生成的元素应作为参数:
$('.div').on('click','a',function(){
alert('点击成功');
});