我遇到了jQuery和.clone(true, true)
的问题。看看 on this jsFiddle 。
问题是:当我克隆一个对象(使用.clone(true, true)
- deep:data和events)时,事件可以工作,但是在原始对象(模型对象)上应用所有函数。
阅读代码后,所有人都会清楚。
再见,谢谢你的帮助:))
答案 0 :(得分:2)
我认为问题在于您广泛使用exampleVariable = $(this)
。
当您使用变量而非明确使用$(this)
时,如果有任何意义,则不会使用当前的$(this)
。
我做了一些改变:(小提琴:http://jsfiddle.net/PGM6W/)
// On click on more, append a new model
// Will update table buttons too
// THIS WORKS FINE, except if I click on remove and click on this two times (try it)
selfRow.find('a.more').click(function(){
$(this).parents("table").append(model.clone(true, true));
updateModel(selfTable);
});
// On click on remove, will remove current row
// Will update table buttons too
// THIS NOT WORKS FINE, and broke the a.more event!
selfRow.find('a.remove').click(function(){
$(this).remove();
updateModel(selfTable);
});