以编程方式将单选按钮设置为checked = true不会触发更改事件。如何知道脚本是否检查了单选按钮?
请参阅此示例:http://jsfiddle.net/wykEx/7/
在Firebug中,除非您手动单击单选按钮,否则不会将任何更改事件记录到控制台。
答案 0 :(得分:0)
一种方法是设置计时器并轮询更改。当然,它可能不是最优雅的解决方案,但它应该足够好,并且应该适用于所有浏览器。
这样做的最大警告是,如果代码经常更改输入元素的checked属性,则可能会丢失一些转换。
window.setInterval(function(){
var elem = $('twoRadioBtn');
if(elem.checked != elem.lastchecked)
{
console.log('TWO changed!');
elem.lastchecked = elem.checked;
}
}, 100); // poll every 100 ms.