On不能代替live;因为新的ON不适用于未来的元素。我的实现没有问题;我习惯于使用 live,我绝对知道 jquery 什么时候可以工作。
哈姆部分:
.field
%label Select a file
= file_field_tag 'post[image]', :class => :dashed
%span.adder + add another file
咖啡部分:
$("span.adder").on "click", (e) ->
new_field = $(this).closest(".field").clone()
$(new_field).insertAfter( $(this).closest(".field") )
为什么新添加的 span.adder 没有将 jquery 行为附加到他们的类?在这种情况下,像这样的东西应该起作用。
为什么 JQuery 家伙确实删除了它?我不明白。
更新
$("span.adder").on("click", function(){ });
不会像现场一样工作。
它一定要是
$(document).on("click", "span.adder", function(){ });
(感谢大家的回答。)