将焦点移至页面元素

Kin*_*101 1 javascript focus

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

这应该很简单.我正在尝试将焦点设置为单击<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);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想将页面的重点转移到'progress_image'关于如何实现这一目标的任何建议?

谢谢

Kin*_*101 8

谢谢@rlemon指出我正确的方向.对于那些遇到这篇文章的人寻求和我一样的答案; 我的解决方案如下.

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

例如,我有:

<div id="whatever">sometext or whatever</div> 
Run Code Online (Sandbox Code Playgroud)

我想通过提交按钮等关注该div.我们已经知道这可以通过使用其他海报建议的输入字段来完成:

document.getElementById("whatever").focus();
Run Code Online (Sandbox Code Playgroud)

通过对div的简单更改,就像这样:

<div id="whatever" tabindex="-1">sometext or whatever</div>
Run Code Online (Sandbox Code Playgroud)

您的div将通过onclick事件进入页面焦点.现在知道这一点,就像在页面上放置一个空的div,锚点或其他任何东西一样简单,以达到设置正确焦点所需的结果.

我希望这有助于其他人,并再次感谢其他海报帮助我解决这个问题,包括:http: //snook.ca/archives/accessibility_and_usability/elements_focusable_with_tabindex/