2012-01-05 8 views
4

2つのテキストボックスがあり、1つのテキストボックスからTabキーを押すと、次のテキストボックスではなく別の場所に移動します。TABをクリックするとフォーカスが次のテキストボックスに表示されます

私のコードは次のとおりです。私はTXT1のタブを押すと、それはTXT2に行く必要がありますが、それはない

$(function() { 

     $("input[id$=txt1]").bind('keydown', 
     function (e) { 
      if (e.which == 9) { 
       // alert("hello"); 
       $("input[id$=txt2]").focus(); 
      } 
     } 
     ); 

    }); 

助けが必要ですか?

答えて

2

だけpreventDefaultを使用して、それが[ID $ = TXT2] IDS(#1 TXT2の代わりに入力して直接セレクタを使用するそのはるかに良い、ところで

$("#txt1").bind('keydown', 
function (e) { 
    if (e.which == 9) { 
     $("#txt2").focus(); 
     e.preventDefault() 
     } 
    } 
); 

に動作します)。

+0

良いアイデア。いくつかの素晴らしいコードを書いてそれを無効にして、これまで実行していない、うわー!私は投票していません。 – Kris

+0

無効にしますか?あなたは何について話していますか? –

+0

私は***あなたの編集の前にあなたの答えについて話しています。それをチェックしてください。 – Kris

5

ここにコードを書く必要はありません。あなたは、適切な順序でタブインデックスを割り当てなければなりません。例えば

<input type="text" value="a" tabindex="1" /> 
<input type="text" value="c" tabindex="3" /> 
<input type="text" value="b" tabindex="2" /> 

あなたが "A" にフォーカスを設定した場合、TABを押して、フォーカスが "C" に移動し、 "B" になります。

こちらをご覧デモ:http://jsbin.com/epacop/2

+0

これはJavaScriptの質問であれば、私は彼がjavascriptの答えを望んでいると思う。 Plus:tabindex属性をサポートしていない要素でも機能するもの。プラス:彼のコードがうまくいかない理由を説明する何か。 –

+0

たぶん彼はtabindexプロパティについて知りませんでした。あなたがハンマーを持っていると、すべてがあなたの爪のように見えます。 –

+0

ハンマーを使用しているときに、少なくともハンマーがあなたのために働いていない理由を少なくとも理解してはいけませんか? –

関連する問題