当我追加一个新div时警告不被触发

时间:2012-05-30 13:38:29

标签: javascript jquery

在这个小提琴上http://jsfiddle.net/adrianjsfiddlenetuser/zyUkd/46/ div''Hello 01'& 'Hello 02'在点击时发出警报。当我单击“添加新”时,会添加一个新的div,但是当我单击此div时,即使使用相同的css设置样式,也不会触发警报。

如何修改此项以便在添加新div时触发警报?

来自jsFiddle的后代代码

JS

$(function() {
    $(".myDivs").click(function() {
         alert('Clicked');
    });

    $("#button").click(get);   
    function get() {
        $(".connected").append("<div class=\"myDivs\">hello</div>");
    }
});

HTML

<div class="connected">
    <div class="myDivs">Hello 01</div>
    <div class="myDivs">Hello 02</div>
</div>
<input name="Button3" type="button" value="Add New" id="button">

3 个答案:

答案 0 :(得分:3)

您需要委托事件处理程序,因为您在绑定事件上的方式仅将事件绑定到现有DOM .myDivs,但不会用于即将发生的事件。

$(".connected").on('click', '.myDivs', function() {
    alert('Clicked');
});

<强> DEMO

有关详细信息,请转到 here

答案 1 :(得分:0)

那是因为你的jQuery正在使用document.ready进行分配。因为此元素在加载时不存在,所以它没有此赋值。你需要单独进行这项任务。

答案 2 :(得分:0)

thecodeparadox给出的答案是有效的。但是我继续更新你的小提琴以完全匹配最新的jQuery约定。

DEMO

以下是jQuery文档的链接以获取更多信息: jQuery .on()