1

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

这应该是一件容易的事。我正在尝试将焦点 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”关于如何实现这一点的任何建议?

谢谢

4

3 回答 3

9

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

于 2012-08-31T19:51:20.150 回答
2

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

document.getElementById('fieldId').focus();
于 2012-08-31T18:33:33.423 回答
1
document.getElementById('progress_image').focus();
于 2012-08-31T18:33:57.533 回答