【发布时间】:2010-09-21 14:05:03
【问题描述】:
单选按钮被选中是否有一些事件?
我知道我可以使用“单击”,但我相信可以在某些浏览器中设置单选按钮的样式,这样单击单选按钮的外部区域可能不会选择单选按钮。
我应该使用什么事件?
【问题讨论】:
-
您好,点击始终适用于所有浏览器。我不明白您的意思是外部区域...您是否想激活点击事件,即使是标签?
标签: javascript jquery
单选按钮被选中是否有一些事件?
我知道我可以使用“单击”,但我相信可以在某些浏览器中设置单选按钮的样式,这样单击单选按钮的外部区域可能不会选择单选按钮。
我应该使用什么事件?
【问题讨论】:
标签: javascript jquery
这取决于您希望何时获知该事件。
如果您想立即知道,请使用click。 IE 在调用处理函数之前会更新checked 的状态,我认为其他浏览器也是如此。您可能需要仔细检查,因为我现在只能使用 IE。
如果您只需要在其他事情发生之前知道,您可以使用change。 IE 不会触发change 事件,直到选中的单选按钮失去焦点。 FF/chrome/others 可能会在不改变焦点的情况下触发事件,但我相信 IE 在这种情况下实际上是正确的。
【讨论】:
input 现在是更好的选择。
您可以使用onchange 事件,该事件将在单选选项更改时触发(即第一次单击组中的单选按钮或更改组中的选择时)。
查看http://jsfiddle.net/P9Z9Y/1/ 的简单示例(如果单选组的值发生变化,单击标签或单选按钮本身将触发alert)。
【讨论】:
change 事件。
<label>,请参阅我更新的 jsfiddle)。我这里没有更新版本的 IE 可供测试。
您是否尝试过使用 onchange 事件?
【讨论】:
不确定input 事件有多新,但它通常是最好的选择。处理键盘导航等。立即更新。
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event
【讨论】: