js,jq新增元素 ,on绑定事件无效

在jquery1.7之后,建议使用on来绑定事件。

 $('.upload a').on('click',function(){

  $(this).remove();

})

在DOM渲染的时候,也就是html页面本来在.upload元素下面有a的情况下,a的点击事件是有效的,即a的确能被移除。

但是用js加到DOM中的html,这样子写的绑定事件是无效的,

必须改成:

$('.upload').on('click','a',function(){

   $(this).remove()//js动态添加的元素也有效

})

必须注意的是:.upload 必须不是js动态生成的,也就是$()选择器必须选择不是动态生成的父元素。

原文地址:https://www.cnblogs.com/djh-create/p/4444270.html