0

在这个小提琴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">

​ ​</p>

4

3 回答 3

3

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

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

演示

有关更多详细信息,请访问此处

于 2012-05-30T13:39:31.653 回答
0

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

于 2012-05-30T13:40:56.520 回答
0

代码悖论给出的答案是有效的。但我继续更新您的小提琴以完全匹配最新的 jQuery 约定。

演示

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

于 2012-05-30T13:48:22.540 回答