1
$(function(){

    $("div").click(function(){
        $(this).clone().insertAfter( $(this) ); 
    });

});

这是一个愚蠢的小页面,每次单击 DIV 时,它都会生成它的副本并将其放置在它之后。

这似乎工作正常,但仅适用于已硬编码的 DIV。当 DIV 被克隆然后单击时,没有任何反应,因为事件尚未绑定到它。

什么是使这项工作的正确方法?

4

2 回答 2

4

使用jQuery.on()函数

$("body").on("click", "div", function() {
  //...
});

.live()函数曾经用于此目的,但在 jQuery 1.7 中已弃用。

于 2012-08-18T02:06:43.837 回答
1

有一个特殊的 jQuery 函数,.live()

$(function(){

    $("div").live("click",function(){
        $(this).clone().insertAfter( $(this) ); 
    });

});
于 2012-08-18T02:05:04.473 回答