问题:很多时候发现,对动态生成的元素绑定click事件是无效的~
原因:直接绑定到动态生成的元素是无效的,是因为Jquery扫描文档找出所有的$(‘’)元素,并把函数绑定到每个元素的click事件上,表明是现有页面上存在的元素,动态生成的元素不包括在内。
解决方法:代理或者说是委托on( ),实现原理是事件的冒泡,在指定的祖先元素中注册事件,元素事件触发,传播到这个元素然后进行筛选。
可以在祖先元素中绑定事件,比如div是祖先元素,而新生成的元素都是div的子元素,所以动态生成的元素的事件就可以绑定了.
$(".parents").on("click",".children",function(){ //函数体 }) //绑定祖先元素.parents 委托给他的子元素,也就是你真正想要绑定的元素~~