私は自分のフォームと、フォーム要素のtabindex
プロパティを使ってフォームとのやりとりをコントロールしようとしています。私のすべての要素にはtabindex
が指定されています。この値を尊重して適切に使用したいと考えています。jQueryを使用してtabindexの問題を回避する
私は現在Mac/Firefox上で開発していますが、タブ切り替えを入力要素とリストだけに設定するMacのデフォルトのシステム設定についてはわかっています。しかし、私は、これと他の設定をオーバーライドする必要があります。これは、どのシステム/ブラウザでも可能です。
私はこれを回避しようとするためにjQueryを使用しています。この時点で私のコードは次のとおりです:
$(":input").keypress(function(e){
if (e.which == 0)
{
tindex = parseInt($(this).attr("tabindex")) + 1;
$(":input[tabindex='" + tindex + "']").focus();
}
});
しかし、これは私の望むようには機能しません。デフォルトのMac設定を有効にすると、実際にはtabindexをスキップし、非text/textarea項目はすべてスキップします。たとえば、私がinput[tabindex=2]
にいて、「Tab」キーを押すと、input[tabindex=4]
に送られます。私がinput[tabindex=2]
にいて、input[tabindex=2]
とinput[tabindex=4]
の間にselect
のボックスがある場合は、input[tabindex=5]
に送信されます。
input[tabindex=2]
私にinput[tabindex=3]
、、input[type=radio][tabindex=3]
などを送信します。基本的に何がtabindex
3のです。
私はこの問題を回避するためのアイデアを教えてください。また、私が見ていなければならない他のシステム/ブラウザーの何かを知っているかどうか教えてください。
selectboxでは動作しますか? – cometta