Reg*_*ser 9 html javascript-events radio-button internet-explorer-8
我有一组带有onchange处理程序的无线电:
<input type="radio" name="Q12" value="radio" id="Q12_0" onchange="nextPnl('Q12');">
<br/>
<input type="radio" name="Q12" value="radio" id="Q12_1" onchange="nextPnl('Q12');">
?
function nextPnl(did)
{
document.write(did);
}?
Run Code Online (Sandbox Code Playgroud)
问题是在IE8和IE7中,只有在重复选择后才会触发onchange事件.
请在IE的开发人员工具[浏览器模式] IE8中查看此演示:http: //jsfiddle.net/3zwur/2/
F21*_*F21 16
这是由于IE7和IE8的更改事件的错误.你应该听听这个click事件.
如本表中关于怪癖模式所示,单选按钮和复选框上的更改事件在IE7和IE8中非常错误.
您可以像这样收听点击事件:
<input type="radio" name="Q12" value="radio" id="Q12_0" onclick="nextPnl('Q12');">
<br>
<input type="radio" name="Q12" value="radio" id="Q12_1" onclick="nextPnl('Q12');">
Run Code Online (Sandbox Code Playgroud)
还有你的小提琴:http://jsfiddle.net/T7VYL/
通常,使用诸如JQuery和YUI之类的javascript库可以让您的生活更轻松,尽管从我的测试来看,它们并没有在旧版本的IE中修复此错误.
如果您仍想听取更改事件,可以部署此修复程序:http://www.ridgesolutions.ie/index.php/2011/03/02/ie8-chage-jquery-event-not-firing/.基本上它会侦听click事件,然后使元素触发change事件.
正如提问者的小提琴所示:http://jsfiddle.net/3zwur/3
| 归档时间: |
|
| 查看次数: |
17313 次 |
| 最近记录: |