一、问题分析
当我们使用js语法向页面中添加html语句时,经常会出现添加的html语句中绑定的事件无法执行,这是因为当js,css加载后才添加的html语句,这样在js事件加载时去找绑定的选择器(id,class),发现并不存在,因此点击事件会失效。
二、解决方案
使用jQuery 事件 - delegate() 方法
使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。
语法
$(selector).delegate(childSelector,event,data,function)
举例:
点击事件失效:
$(".x-show").click(function(){
alert("111");
});
点击事件有效:
$("body").delegate('.x-show',"click",function () {
alert("111");
});