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

使用Javascript添加Dom元素后的事件绑定?

使用Javascript添加Dom元素后的事件绑定?

宝慕林4294392 2018-09-11 13:10:41
挺简单的问题,就是不好描述哈...,不知道能不能理解<body>    <button class="btn">添加Button按钮</button>    <div class="container">        <button class="item">Button</button>    </div>    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>    <script type="text/javascript">    (function bindEvent() {        $(".item").click(function() {            alert("Hello");        });    })();    $(".btn").on("click", function() {        $(".container").append("<button class=\"item\">Button</button>")    });    </script></body>上面只是一个使用js添加一个按钮的例子。页面一开始是有一个按钮的,按钮绑定了一个点击事件。现在通过js再添加一个一样的按钮,很明显,之后手动添加的按钮并没有绑定Click事件,要想这个按钮也有点击事件,我能想到的就是:重新使用bindEvent()方法绑定才行:我想问的问题已经在上面的注释中写明。之所以问这个问题是因为最近在做一个下拉刷新,每次下拉就发送一个异步请求,再把结果添加到页面中去,然后都要为新加入的dom重新绑定一次事件,不知道这样会不会对性能有影响?
查看完整描述

1 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

哈哈哈,求点赞啊
关于这个问题 利用时间委托和事件冒泡就可以解决,你的js时间绑定有问题,稍微修改一下就可以了

$(".container").on('click','.item',function() {

alert("Hello");

});


查看完整回答
反对 回复 2018-10-14
  • 1 回答
  • 0 关注
  • 977 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号