0

asp.netアプリケーションを開発しました。ユーザーがアプリケーションのフィールドをタブで移動し、最後を超えて続行する場合、タブはアプリケーションの外部で続行されます。これには、ユーザーがURLを入力するボックスが含まれ、次に検索条件を入力するためのGoogleボックスを含む他のボックスが含まれます。その後、最終的にはアプリケーションの最初のフィールドに戻ります。

タブを自分のアプリケーションのみに制限するにはどうすればよいですか?

4

2 に答える 2

3

これを処理する最も簡単な方法は、実行しないことです。ユーザーが独自のアプリケーションとやり取りする方法を変更しないでください。これは、ユーザーが制御できないものであり、制御するべきではありません。TAB キーには、非常に予測可能な方法で機能する明確に定義されたユーザー インターフェイス タスクがあります。利用可能なすべてのブラウザーを使用したわけではありませんが、99% のブラウザーで、タブ キーを使用すると、ユーザーはページ上の入力フィールドとブラウザーのツールバーの入力フィールド間を移動できます。これを変更すると、ユーザーを苛立たせるだけです。マウスを使用しないユーザーはどうなりますか? 障害のあるユーザーはどうですか?

ここで設計上の決定を再考してください。

于 2010-02-17T01:07:20.020 に答える
1

私が考えることができる唯一のことはonkeydown、ページ内の最後のフィールドをキャッチできるJavaScriptを作成し、それがタブキーであることをテストしてから、フォーカスを最初のフィールドに戻すことです:

<body>
    <input id="field1" /><br />
    <input id="field2" /><br />
    <input id="field3" onkeydown="return loopBack();" />
</body>

<script type="text/JavaScript">
    function loopBack() {
        if (event.keyCode == 9) {
            var field1 = document.getElementById("field1");
            field1.focus();
            field1.select();
            return false;
        }
    }
</script>
于 2010-02-16T21:19:57.333 に答える