2011-06-21 17 views
31

jqueryを使用して "shift + tab"キーの同時押下イベントをキャプチャしたい場合があります。実際にはあなたが知っているように、それは逆方向にタブを移動するために使用されますが、1つのシナリオで私にとっては、タブはどんな方向でも、つまり前方も後方も動いていませんでした。次のようにタブを移動するjquery関数を見つけました: -"shift + tab"キー押下イベントをキャプチャする

$(':input').live('keydown', function(e) {  
    var keyCode = e.keyCode || e.which;  
    if (keyCode == 9) {  
     tindex = parseInt($(this).attr("tabindex")) + 1; 
     if($(":input[tabindex='" + tindex + "']")) 
     { 
      $(":input[tabindex='" + tindex + "']").focus(); 
     } 
    } 
}); 

今度はタのタブも逆方向に移動したいと思います。 誰かが私を導くことができますか私はこれを達成することができますか?

+1

falseを返す '追加することにより、デフォルトのイベントをキャンセルすることを忘れないでください。 'コードに。 –

答えて

60

e.shiftKeyを使用すると、イベントが発生したときにシフトキーが押されたかどうかを確認できます。

するとあなたはシフトキーが開催されたかどうかをチェックし、イベントハンドラにif文を追加する場合は、別の操作を行うことができます。

if(keyCode == 9) { 
    if(e.shiftKey) { 
     //Focus previous input 
    } 
    else { 
     //Focus next input 
    } 
} 
+0

+1、日を節約するために! – a5his

関連する問題