2014-06-20 95 views
-1

我有这个上点击:关于克隆元素的事件?

$('.btn-delete').on('click', function(){console.log('delete')}); 

我再克隆一个div:

this.fileTemplate = $('.file:first').remove().clone(true); 

后来我加了克隆回页面。

'删除' 无法登录

的HTML:

<li class="file"> 
    <button class="btn-delete">&times;</button> 
</li> 
+0

在克隆,运行重新绑定/重新连接处理的方法。 –

+0

问题很混乱,你应该发布更多的HTML代码,你的div和按钮之间有什么关系,... –

+0

@KingKing我会发布hTML – panthro

回答

1

既然你不是克隆按钮本身,而是父母,你需要做一个深克隆:

this.fileTemplate = $('.file:first').clone(true,true); 
$('.file:first').remove(); 

http://api.jquery.com/clone/#clone-withDataAndEvents-deepWithDataAndEvents


但是,如果你反正删除元素,你不需要克隆它在所有 - 只是用.detach()代替.remove()存储与它的所有事件的DIV:

this.fileTemplate = $('.file:first').detach(); 

http://api.jquery.com/detach/

要添加抄送该元素,深克隆它的分离之后:

clone_copy = this.fileTemplate.clone(true,true); 
clone_copy.appendTo('#container'); 
+0

重新:分离 - 当我想添加多个模板回页面将需要使用克隆? – panthro

+0

我认为默认情况下,第二个参数(在clone()中)与***第一个参数是相同的,所以'clone(true)'就足够了。 –

+0

恐怕您的解决方案都无法正常工作。 – panthro