为什么jQuery .change()不会因为选择同名而取消选择单选按钮?

如果我有几个同名的单选按钮,则任何时候只能选择一个。 当一个人被选中时,任何同名人都会失去他们的选择。 我很感兴趣为什么这不构成jQuery的.change()事件。

黑客$.change()函数会非常激烈,但这似乎并没有被报告为错误 – 所以我有兴趣找出原因并非如此。

测试如下:我希望无论何时选择无线电,都会触发两个更改事件,但事实并非如此。

这是一个例子: http : //jsfiddle.net/XzmmW/

如果你想到一组像select元素一样的单选按钮,很明显为什么不必为取消选择的单选按钮发出更改事件。

当您在select元素中更改所选选项时,您将获得一个更改事件(您不会期望任何其他事件),而不是一个用于先前选择的选项,另一个用于新选择的选项。

如已经提到的,当选择一个单选按钮时,同一组中没有其他单选按钮,因此发起第二个更改事件将是多余的。

另请注意,这不是jQuery特有的 – 标准的JavaScript更改事件以完全相同的方式工作。

只有1个更改事件…您从“旧选择”更改为“新选择”。

请记住,尽管您有多个“元素”,但它们都是同一表单元素的一部分(由name属性定义)。

无需为命名组中的每个单选按钮触发事件,当选择一个时,您知道其他单选按钮未被选中