将焦点移至页面元素

时间:2012-08-31 18:31:54

标签: javascript focus

  

可能重复:
  Move focus to a particular field

这应该很简单。我正在尝试将焦点设置为点击我页面上的<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'有关如何完成此任务的任何建议?

由于

3 个答案:

答案 0 :(得分:6)

感谢@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/

答案 1 :(得分:1)

您可以在此处详细了解focus功能:https://developer.mozilla.org/en-US/docs/DOM/element.focus

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

答案 2 :(得分:1)

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