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('这里是动态元素添加的事件');
}