我有一个简单的测试页面,该页面在oninit函数中将焦点设置到一个文本区域。但是,如果将页面作为子页面调用,则精确代码无法实现此目标。
放置警报框可以证明oninit函数被调用,但未能将焦点置于文本框中。然而,单击重新加载后可以正确地聚焦。
因此,考虑到我的代码在主页面上调用时完美运行,并且在调用子页面时也可以通过重新加载工作,那么为什么第一次不起作用呢?
<html>
<body onload="init()">
<script type="text/javascript">
function init()
{
document.getElementById("message").focus();
}
</script>
<textarea id="message" rows=10 cols=40></textarea>
</body>
</html>
这里没有什么巧妙的东西,就是如果页面是通过window.open("test2.html")加载的话就无法正常工作。
window.open('')
。 - Dvirautofocus
,像这样<textarea autofocus>Hello</textarea>
。 - neoneye