为了账号安全,请及时绑定邮箱和手机立即绑定

怎么让后面加载的'.a'能够触发那个click事件?

怎么让后面加载的'.a'能够触发那个click事件?

子衿沉夜 2023-05-01 18:14:19
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));
  });
})


查看完整回答
反对 回复 2023-05-03
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

因为你创建的新结构没有绑定事件,如果希望绑定的结构也有事件,你可以考虑把事件绑定到body,然后通过判断点击事件的节点是否有 calss=a,来加载相应的事件;

  $('body').click(function(e){    var t = $(e.target);    if(t.hasClass('a')){......}
  })


查看完整回答
反对 回复 2023-05-03
  • 2 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信