将焦点移动到页面元素

Move focus to page element

本文关键字:元素 焦点 移动      更新时间:2023-09-26

可能重复:
将焦点移动到特定字段

这应该很容易。我正在尝试将焦点onclick设置为页面上的<p>元素。

我的javascript如下:

function loadSubmit() {
    if (document.getElementById('uploaded_file').value == "") {
        this.setFocus("name");
    } else {
        var ProgressImage = document.getElementById('progress_image');
        document.getElementById("progress").style.visibility = "visible";
      //document.getElementById("progress").focus(); ?
        setTimeout(function () {
            ProgressImage.src = ProgressImage.src
        }, 100);
    }
}

我想把页面的焦点转移到"progress_image"上。关于如何实现这一点,有什么建议吗?

感谢

感谢@rlemon为我指明了正确的方向。对于那些看到这篇帖子寻求与我相同答案的人;我的解决方案如下。

如果您需要使用onclick事件将焦点设置为页面上的某个元素,可以通过使用tabindex和ID定义元素来实现。

例如,我有:

<div id="whatever">sometext or whatever</div> 

我希望通过提交按钮或类似按钮来关注这个div。我们已经知道,这可以通过使用其他海报所建议的来实现输入字段:

document.getElementById("whatever").focus();

对您的div进行如下简单更改:

<div id="whatever" tabindex="-1">sometext or whatever</div>

您的div将通过onclick事件进入页面的焦点。现在知道了这一点,只需在页面上定位一个空的div、锚点或其他什么就可以实现所需的结果,从而设置适当的焦点。

我希望这能帮助其他人,再次感谢其他帮助我的海报,包括:http://snook.ca/archives/accessibility_and_usability/elements_focusable_with_tabindex/

您可以在此处查看有关focus函数的更多信息:https://developer.mozilla.org/en-US/docs/DOM/element.focus

document.getElementById('fieldId').focus();
document.getElementById('progress_image').focus();