Javascript 为什么$(';:radio';).change()在新jQuery中停止工作?

Javascript 为什么$(';:radio';).change()在新jQuery中停止工作?,javascript,jquery,dom,Javascript,Jquery,Dom,我正在用两个jQuery版本测试以下代码:1.5.1和1.7.2 $(':radio').change(function(){alert(1)}); 它在旧jQuery中工作,而在新jQuery中不工作。为什么我必须在新版本中使用。单击() 浏览器:Chrome 18它适合我: <input type="radio" name="foo" value="1" checked /> Radio 1 <br/> <input type="radio" name="fo

我正在用两个jQuery版本测试以下代码:1.5.1和1.7.2

$(':radio').change(function(){alert(1)});
它在旧jQuery中工作,而在新jQuery中不工作。为什么我必须在新版本中使用
。单击()

浏览器:Chrome 18它适合我:

<input type="radio" name="foo" value="1" checked /> Radio 1 <br/>
<input type="radio" name="foo" value="2"/> Radio 2 <br/>

<script>
$(function() {
    $(':radio').change(function() {
        alert(this.value);
    });​
});
</script>
收音机1
收音机2
$(函数(){ $(':radio').change(函数(){ 警报(该值); });​ });

设置为使用jQuery 1.7.2请在jsfiddle.net上创建一个测试用例来演示您的断言。它对我有用-您也尝试过
[type=“radio”]
?毕竟,它应该是一个更快的选择器,因为它可以在QSA->@GNi33中使用。虽然这是真的,但这根本不是问题所在……还要指定测试的浏览器。在历史上,变更事件一直存在一些怪癖——特别是当它们“发生”时。我在这里读了几个问题,每个人都建议。单击()而不是.change()。我将试图找出jQuery版本影响我的代码的原因。@Andrei。谁是“所有人”?完全一样。。。无论如何,它可能与
.attr()
V.S.
.prop()
有关。我在页面上有许多插件和自己的代码。我想有什么干扰了。jQuery版本的影响有点奇怪this@gdoron,是的,它实际上是用来触发
.change()
.prop('checked',true)
。谢谢你的提示!