0

我有一个页面

<div id="aar">  
    <div id="stack0" class="stack">stack1</div>
    <div id="stack1" class="stack">stack1</div>
    <div id="stack2" class="stack">stack1</div>
</div>

以下脚本在其中运行

$(document).ready(function(){
    $(".stack").click(function(){
       $("#aar").html($("#aar").html()+'ann');
    });
});

.stack click 函数只运行一次。为什么?

4

2 回答 2

3

这是因为您用新的 dom 替换了旧的 dom,而新的 dom 没有有限的单击事件处理程序。

您可以使用 .append 方法附加新内容。

$(document).ready(function(){
    $(".stack").click(function(){
        $("#aar").append(this.id);
    });
});
于 2012-04-15T06:25:14.597 回答
0

用户直播而不是点击:

$(document).ready(function(){
$(".stack").live('click', function(){
    $("#aar").html($("#aar").html()+$(this).attr("id"));
});

});​</p>

于 2012-04-15T06:22:57.203 回答