下面一段代码解释如下:先设置了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>
<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>
document.onkeydown = getkeyCode;
document.FORM.s1.focus();
document.FORM.s1.disabled = true;
document.body.focus();//加上这句
}
我尝试过将select换成text,却没有没出现这个现象。
试试看把document.FORM.s1.focus();换成document.FORM.s1.select();可以达到同样的效果