-1

遇到问题,无法解释,因为不确定发生了什么。只是只能简化这个例子中的问题

有什么好玩的

我暂时将元素放入数组中,然后当我再次放入时没有点击事件。

如何测试

  1. 使用“点击我”按钮,将显示警报
  2. 分开,会换地方
  3. 将在另一个地方出现“点击我”按钮
  4. 点击“点击我”按钮,不起作用
4

2 回答 2

2

您应该将 true 传递给clone方法以保留事件。

看看http://jsfiddle.net/7ZBtZ/2/

于 2011-08-09T18:26:44.187 回答
2

@Shankar 的回答基本上是正确的(+1),但是有更好的方法来做到这一点。现在,你:

  1. 克隆元素,然后
  2. 去掉,然后
  3. 分离它(这是多余的,因为元素刚刚被移除),然后
  4. 附加它

相反,您可以只.detach()使用元素,其中

与 相同.remove(),除了.detach()保留与已删除元素关联的所有 jQuery 数据。当移除的元素稍后要重新插入到 DOM 中时,此方法很有用。

它会像这样工作:

var $div = $('#div').detach();
hidden.push($div);
$('#click').remove();
hidden.pop().detach().appendTo('#div1');

演示:http: //jsfiddle.net/mattball/swBfj/

于 2011-08-09T19:44:38.863 回答