Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript focus()函数不使用';t在页面加载时聚焦文本区域_Javascript_Html - Fatal编程技术网

JavaScript focus()函数不使用';t在页面加载时聚焦文本区域

JavaScript focus()函数不使用';t在页面加载时聚焦文本区域,javascript,html,Javascript,Html,我有以下代码 焦点问题 // 下面是上述代码的JSFIDLE演示: 为什么页面加载时焦点不在文本区域框上?单击链接时,焦点确实转到textarea框,但我也希望在页面加载时焦点转到textarea框。为什么没有发生 注意:我知道textarea的HTML5自动聚焦属性。但是这个问题是关于为什么上面的JavaScript代码没有执行我想要执行的操作。您正在从onload处理程序内部执行.focus()语句,该处理程序本身在onload处理程序中定义。不会调用此内部onload,因为在定义

我有以下代码


焦点问题
//  

下面是上述代码的JSFIDLE演示:

为什么页面加载时焦点不在文本区域框上?单击链接时,焦点确实转到textarea框,但我也希望在页面加载时焦点转到textarea框。为什么没有发生


注意:我知道textarea的HTML5自动聚焦属性。但是这个问题是关于为什么上面的JavaScript代码没有执行我想要执行的操作。

您正在从
onload
处理程序内部执行
.focus()
语句,该处理程序本身在
onload
处理程序中定义。不会调用此内部
onload
,因为在定义它时,
onload
事件将发生。试试这个:

window.onload=function(){
  var text = document.getElementById('text')
  text.focus()

  window.onhashchange = function() {
    text.focus()
  }
}
您的演示,已更新:

执行此操作

<script type='text/javascript'> 
    window.onload=function(){
    var text = document.getElementById('text')

    text.focus();

    window.onhashchange = function() {
        text.focus();
    }
  }
</script>

window.onload=function(){
var text=document.getElementById('text')
text.focus();
window.onhashchange=函数(){
text.focus();
}
}

我认为它确实有效,@Sergio您有没有解释一下为什么添加输入文本字段可以解决这个问题?@Sergio我的问题不是针对JSFIDLE的。在这个问题中复制粘贴我的代码并将其粘贴到一个文件,比如foo.html,然后用Firefox打开它,同样的问题也会发生。是的,在@nnnn引起我的注意后,我明白了这一点。你有一个范围问题,我认为他的解释是你问题的答案(应该是公认的答案)。