0

左矢印をタブ ボタンのように動作させ (フォーカスを次のフォーカス可能なアイテムに設定)、右矢印をシフト + タブのように動作させる (前のフォーカス可能なアイテムにフォーカスを設定) ことはありますか?

私はここまで来ました:

$().keypress(function(e) {
    if (e.keyCode == 37) {
        alert('I want to do a shift-tab');
    }
    else if (e.keyCode == 39) {
        alert('I want to do a tab');
    }
});

しかし、Google はあまり役に立たないので、Google で調べている間に簡単な投稿をここに投稿しようと思いました。

ありがとう!

ああ、それは純粋に FF3.0 用なので、他のブラウザの迷惑行為について心配する必要はありません。

4

1 に答える 1

5

あなたがこれまで持ってきたものは問題ないようです。

「フォーカス可能な」アイテムのリストを保持し、現在のアイテムへのポインターを保持しながらリストを反復処理できます。

// or $('input')..depends what you want to focus on
var nodes = $('.focusable'), idx = -1;
$().keypress( function(e) {
   if (e.keyCode === 37) {
     nodes.get(++idx).focus();
    }
    else if (e.keyCode === 39) {
       nodes.get(--idx).focus();
    }
 });

ただし、これは大まかな概要です。idxフォーカス可能な要素配列の先頭または末尾をすり抜けないように、何かを行う前にを確認する必要があります。また、ユーザーがテキストボックス内にいるときにこれを呼び出すことにも注意する必要があります。

于 2009-07-31T04:47:39.717 に答える