JQuery/Live已被弃用,也没关系......但是没有被替换

Ben*_*Ben 4 javascript jquery

On不能替代 live ; 作为新工作了未来元素.我的实施没有问题; 我习惯使用直播,我肯定知道什么时候有什么作用与jquery有效.

haml部分:

.field
        %label Select a file
        = file_field_tag 'post[image]', :class => :dashed
        %span.adder + add another file
Run Code Online (Sandbox Code Playgroud)

咖啡部分:

$("span.adder").on "click", (e) ->
    new_field = $(this).closest(".field").clone()
    $(new_field).insertAfter( $(this).closest(".field") )
Run Code Online (Sandbox Code Playgroud)

为什么添加的新span.adder没有附加到其类的jquery行为?在这种情况下,像这样的事情会起作用.

为什么JQuery的家伙确实删除了它?我不明白.


UPDATE


$("span.adder").on("click", function(){ });
Run Code Online (Sandbox Code Playgroud)

不会像现场一样工作.

它一定要是

$(document).on("click", "span.adder", function(){ });
Run Code Online (Sandbox Code Playgroud)

(感谢大家的回答.)

Ant*_*ton 6

要使用将来的元素,您必须在此类文档上使用

$(document).on('click', 'span.adder', function(){
       //Code here
});
Run Code Online (Sandbox Code Playgroud)