jQuery对于动态生成的元素绑定无效的问题~~

jopen 8年前

问题:很多时候发现,对动态生成的元素绑定click事件是无效的~

原因:直接绑定到动态生成的元素是无效的,是因为Jquery扫描文档找出所有的$(‘’)元素,并把函数绑定到每个元素的click事件上, 表明是现有页面上存在的元素,动态生成的元素不包括在内 。

解决方法:代理或者说是委托on( ),实现原理是事件的冒泡,在指定的祖先元素中注册事件,元素事件触发,传播到这个元素然后进行筛选。

可以在祖先元素中绑定事件,比如div是祖先元素,而新生成的元素都是div的子元素,所以动态生成的元素的事件就可以绑定了.

$(".parents").on("click",".children",function(){     //函数体   })    //绑定祖先元素.parents 委托给他的子元素,也就是你真正想要绑定的元素~~

来自: http://www.cnblogs.com/wenrain/p/5116436.html