我有以下代码。
<!DOCTYPE html>
<html>
<head>
<title>Focus issue</title>
<script type='text/javascript'>//<![CDATA[
window.onload=function(){
var text = document.getElementById('text')
window.onload = function() {
text.focus()
}
window.onhashchange = function() {
text.focus()
}
}//]]>
</script>
</head>
<body>
<textarea id="text"></textarea>
<p><a href="#focus">Click to focus</a></p>
</body>
</html>
这是上述代码的 JSFiddle 演示:http: //jsfiddle.net/DvU63/
为什么页面加载时焦点不在textarea框上?单击链接时,焦点确实转到 textarea 框,但我也希望焦点转到页面加载时的 textarea 框。为什么不发生?
注意:我知道 textarea 的 HTML5 autofocus 属性。但是这个问题是关于为什么上面的 JavaScript 代码没有做我打算做的事情。