如果我在应用了事件后使用.clone()
克隆了一段文档,那么如何获得这些事件的所有都会返回克隆的元素将克隆的元素重新注入文档?jQuery.clone()失去附加的事件处理程序
<div class="row">
<div class="col-lg-3">Something <span class="glyphicon glyphicon-remove-circle text-danger pull-right"></div>
<div class="col-lg-3">Something else <span class="glyphicon glyphicon-remove-circle text-danger pull-right"></div>
</div>
<script type="text/javascript">
$('.row').delegate('.glyphicon-remove-circle', 'click', function() {
$(this).parent().remove();
});
$reset = $('.row').clone();
</script>
<button onclick="$('.row').replaceWith($reset)">Reset</button>
这里是它的一个fiddle:
我所有的附加事件处理程序,当我做到这一点都将丢失。
http://api.jquery.com/clone/#clone-withDataAndEvents – 2014-09-05 21:28:17
正如Kevin B所说;阅读文档。一个简单的额外参数将解决您的问题。 – 2014-09-05 21:28:57
@Kevin B:使用委托事件,但不附加到不变的祖先,是真正的问题。甚至不需要深入克隆事件。 – 2014-09-05 21:44:26