当在使用js或jQuery创建元素时,用 on(事件,function(){代码}) 或者 事件(function(){代码 })绑定事件时
在使用append添加元素后 由于是在页面加载完成之后进行的元素添加,所以事件不会触发(个人理解,不对勿喷)
这时我们需要给元素绑定事件
解决方案1: on绑定
$("父级元素").on("事件","当前元素",function(){
巴拉巴拉.........
})
如果 父级元素 还不行 就用 $(document).on("事件","当前元素",function(){}) $('body') .on("事件","当前元素",function(){})
例子:
$("#box").on("click",".div-img",function(){
thisdom = this;
var isclil = this.children;
if(isclil.length==0)
{
ifile.click(function(){
});
}
})
解决方案2:委托,其实和on差不多
$("父级元素").delegate('自己元素', '事件', function () {
巴拉巴拉....
});
例子:
$(".createDiv").delegate('agin', 'clik', function () {
alert(3);
});
本文介绍了在使用JavaScript或jQuery创建元素并绑定事件时遇到的问题及解决方案。当通过append添加元素后,由于是在页面加载完成后进行的操作,原有的事件绑定可能无法生效。文章提供了两种解决方法:一是使用on方法绑定事件;二是使用delegate方法实现事件委托。
2881

被折叠的 条评论
为什么被折叠?



