Jquery插入dom后,插入部分无法调用js。例如:html:<div class="a"><div>
<div class="b"><div>在,js文件里有:$(function(){
$('.a').click(function(){ alert('ok');
})
$('.b').click(function(){
$("<div class='a'></div>").insertAfter($(this));
})
})那么新的dom结构就是<div class="a"><div>
<div class="b"><div>
<div class="a"><div>而后面那个a点击的时候就不会触发$('.a').click事件
2 回答
杨__羊羊
TA贡献1943条经验 获得超7个赞
你应该使用 on 事件进行绑定。
$(function(){ $("body").on("click", '.a', function(){ alert('ok'); }); $('.b').click(function(){ $("<div class='a'></div>").insertAfter($(this)); }); })
梦里花落0921
TA贡献1772条经验 获得超6个赞
因为你创建的新结构没有绑定事件,如果希望绑定的结构也有事件,你可以考虑把事件绑定到body,然后通过判断点击事件的节点是否有 calss=a,来加载相应的事件;
$('body').click(function(e){ var t = $(e.target); if(t.hasClass('a')){......} })
添加回答
举报
0/150
提交
取消