Jquery用append()方法新增加的元素事件失效

$(".addmobile").click(function () {
        var _html = '<div class="form_group"><div class="form_input"><input type="text" class="ip" value="" name="storename" style="width:67%;" />
             <img src="/lib/module/images/reduce.png" class="reducemobile" /></div></div>
'; $("#newmobile").append(_html); });
<div id="newmobile"><div>

往newmobile里面添加新的元素,当给reducemobile添加点击事件是无效

如:

$(".reducemobile").click(function () {
        alert("进来了");
    })

上面这段代码无效

面对jquery append 动态添加的元素事件无效,我们该如何解决呢?

方法中要先找到原选择器(如例#newmobile),再找到动态添加的选择器(如列.reducemobile)。

$("#newmobile").click(".reducemobile",function () {
        alert("进来了");
    })

这样就有效了,但是这个方法的this指的是父容器newmobile

如果想this是当前的.reducemobile,代码如下

 $("#newmobile").on("click",".reducemobile", function () {
        alert("进来了");
    })

 

posted @ 2017-08-22 15:08  mzll  阅读(1038)  评论(0编辑  收藏  举报