下面一段代码解释如下:先设置了onkeydown事件,然后将焦点设在了select控件上,再将select控件disabled掉。出现的现象是:页面加载后onkeydown事件不触发了,但是我点击一下页面又可以触发。请各位高手帮忙看下为什么?
<html>
<head>
<title>test</title>
<script language="javaScript">
function getkeyCode(){
         //获取键值
alert(event.keyCode);
}
function Load_Page(){
document.onkeydown = getkeyCode;
document.FORM.s1.focus();
document.FORM.s1.disabled = true;
}
</script>
</head>
<body onLoad="Load_Page();">
<form id="FORM" name="FORM" action="" onsubmit="return false;">
<select id="s1" name="s2">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>
</body>
</html>

解决方案 »

  1.   

    function Load_Page(){ 
    document.onkeydown = getkeyCode; 
    document.FORM.s1.focus(); 
    document.FORM.s1.disabled = true; 
    document.body.focus();//加上这句
      

  2.   

    导致的原因是什么?
    我尝试过将select换成text,却没有没出现这个现象。
      

  3.   

    我也遇到了同样的问题,在傲游下面有这个问题,郁闷了我很久,最后还是用替代方法解决了。
    试试看把document.FORM.s1.focus();换成document.FORM.s1.select();可以达到同样的效果