1

重複の可能性:
フォーカスを特定のフィールドに移動します

これは簡単なはずです。<p>ページ上の要素にフォーカスonclickを設定しようとしています。

私の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 に答える