Javascript焦点在加载时不工作

javascript focus not working on load

本文关键字:工作 加载 焦点 Javascript      更新时间:2023-09-26
window.onload = function() {
                 try{
                     document.getElementById('result').focus();
                 }catch(err){
                 }
             }

在我的表单div结果id加载时,表单提交,当它显示我想要专注于它。上面的代码在我的情况下不工作。请帮我找出这个代码的问题。
jsfiddle

根据你的jsFiddle, #result是一个div。你不能真正专注于div的方式,你可以与表单元素或链接,但你可以跳转到页面的那一部分使用以下javascript代替:

window.location.hash = '#result';

不能聚焦于div元素。但是你可以用

window.location.hash = '#result';

滚动到div#result元素

这是一个工作的jsFiddle


1。给div一个标签索引为0(这意味着它是优先排序的):

<div class="result" tabindex="0" id="result">

(查看tabindex属性的更多信息,请点击)

2。删除您的<script>标签:

window.onload = function() {
    try{
        document.getElementById('result').focus();
    }catch(err){
    }                    
}

3。no wrap in <head>代替onload

您正在尝试将焦点放在一个div上,该div默认情况下不能使用脚本将其放在焦点上。为此,您需要设置结果div的tabindex属性。您需要添加属性tabindex并将其值设置为0,然后您的函数document.getElementById().focus()将工作

也在你的小提琴是不允许在javascript块内。