我有检测单选按钮更改的代码,然后调用按钮上的方法。它在现有按钮上工作正常,但是当我向页面添加新的单选按钮时(通过ajax),它对它们不起作用。如何让它检测新单选按钮的变化?
这是我的coffeescript代码:
jQuery ->
$(".radio-button:radio").change ->
doSomething(this)
在JS中看起来像这样:
jQuery(function() {
return $(".radio-button:radio").change(function() {
return doSomething(this);
});
});
答案 0 :(得分:1)
对于动态创建的元素,您需要使用.on()
进行事件委派$(document).on('change','.radio-button:radio', function() {
//Your code here
});
代替(对于静态元素)
$(".radio-button:radio").change(function() {
//Your code
});
注意:您需要将$(document)
替换为DOM&中存在的静态父选择器$(parent)
。用它来获得更好的性能。