0

我有检测单选按钮更改,然后调用按钮上的方法的代码。它在现有的按钮上工作正常,但是当我通过ajax添加新的单选按钮时,它不适用于它们。我如何才能检测新单选按钮上的更改?如何检测新的单选按钮上的更改?

这是我的CoffeeScript代码:

jQuery -> 
    $(".radio-button:radio").change -> 
     doSomething(this) 

,看起来像这样在JS:

jQuery(function() { 
    return $(".radio-button:radio").change(function() { 
    return doSomething(this); 
    }); 
}); 

回答

1

对于动态创建的元素,你需要用做事件委派.on()

$(document).on('change','.radio-button:radio', function() { 
    //Your code here 
}); 

而不是(对于静态元素)

$(".radio-button:radio").change(function() { 
    //Your code 
}); 

注意:您需要一个静态的家长选择$(parent)这是目前在DOM &使用有更好的表现,以取代$(document)

+0

谢谢。页面加载时不存在较低的父级,所以我想我会坚持使用文档。 –

相关问题