代码之家  ›  专栏  ›  技术社区  ›  JohnDel

克隆一个div,然后再次从子级克隆

  •  0
  • JohnDel  · 技术社区  · 15 年前

    我有以下简单的代码,在这里我双击一个div(带有类 安全壳包装

    <span class="container">div one</span>
    
    <div id="containment-wrapper">
    </div>
    

    $(".container").dblclick(function() {
    
            $(this).clone().appendTo('#containment-wrapper');
    });
    

    当我双击原始div时,它会克隆自己并将一个div放入容器包装器中,但是当我双击一个克隆的div时,它不会做任何事情,即使它有class=container,为什么会发生这种情况?我尝试了许多不同的方法来克隆它,但都没有成功。

    3 回复  |  直到 15 年前
        1
  •  2
  •   Gert Grenander Keiron Lowe    15 年前

    这是因为事件处理程序没有被克隆。使用 delegate 取而代之的是:

    $(".container").delegate("","dblclick",function() {
      $(this).clone().appendTo('#containment-wrapper');
    });
    
        2
  •  2
  •   Enrico Carlesso    15 年前

    live

    $(".container").live('dblclick', function() {
    
            $(this).clone().appendTo('#containment-wrapper');
    });
    
        3
  •  1
  •   ScottD    15 年前

    由于动态添加div标记,它们不会自动绑定到指定的.dblclick函数。使用 live