Lon*_*ner 3 html javascript html5
我有以下代码.
<!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>
Run Code Online (Sandbox Code Playgroud)
这是上面代码的JSFiddle演示:http://jsfiddle.net/DvU63/
为什么页面加载时焦点不会转到textarea框?在单击链接时,焦点确实在textarea框上,但我也希望焦点转到页面加载时的textarea框.为什么不发生?
注意:我知道textarea的HTML5自动聚焦属性.但是这个问题是为什么上面的JavaScript代码没有做我想做的事情.
您正在处理程序.focus()内部执行语句,该onload处理程序本身在onload处理程序中定义.onload不会调用此内部,因为在您定义它时onload将发生事件.试试这个:
window.onload=function(){
var text = document.getElementById('text')
text.focus()
window.onhashchange = function() {
text.focus()
}
}
Run Code Online (Sandbox Code Playgroud)
您的演示版已更新:http://jsfiddle.net/DvU63/2/
| 归档时间: |
|
| 查看次数: |
2032 次 |
| 最近记录: |