jQuery动态添加元素无法触发绑定事件

 

用jquery动态添加元素后,发现给动态添加的元素无法触发事件。解决方案如下:

方法一:绑定live事件(live事件只在jquery1.9以下才支持,高版本不支持)。

1
2
3
$(".newBtn").live("click",function(){ ///jquery 1.9(不包括1.9)以下可以
               alert('这里是动态元素添加的事件');
           })

 

方法二:利用on()事件绑定 ($(ParentEle).on("click",".thisEle",function(){})

1
2
3
$("body").on("click", ".newBtn", function() {
              alert('这里是动态元素添加的事件');
          });<br>//这里的ParentEle是 thisEle的父辈元素或者祖先元素,ParentEle可以是document,也可以是body等。<br><br><br>//注意:如果此时调用的函数是外部定义好的函数,那在调用的时候不要加(),不然会跳过点击事件直接触发函数
  $("body").on("click", ".newBtn",aa );
 function aa(){
alert('这里是动态元素添加的事件');
}
posted @ 2017-07-28 19:39  包仔饭  阅读(545)  评论(0编辑  收藏  举报