2016-09-27 16 views
0

ウェブフォームがあり、下向き矢印が押されたときに次のtabindexフィールドに移動できるようにします(タブキーのように動作します)。次のコードは、Enterキーを押したときに機能しますが、キーコードを40に変更すると、このコードは下矢印キーでは機能しません。下向き矢印キーの次のtabindexフィールドに移動

大変助かりました。

<div> 
    <input name="line[]" class="" type="text" tabindex="1"/> 
</div> 
<div> 
    <input name="line[]" class="" type="text" tabindex="2"/> 
</div> 
<div> 
    <input name="line[]" class="" type="text" tabindex="3"/> 
</div> 

//tab to next tabindex on enter key 
<script> 
    var id; 
    $(document).ready(function(eOuter) { 
     $('input').bind('keypress', function(eInner) { 
      if (eInner.keyCode == 13){ //enter key 
       var tabindex = $(this).attr('tabindex'); 
       tabindex++; //increment tabindex 
       $('[tabindex=' + tabindex + ']').focus(); 

       $('#Msg').text($(this).attr('id') + " tabindex: " + tabindex + " next element: " + $('*').attr('tabindex').id); 
      } 
     }); 
    }); 
</script> 

答えて

1

矢印キーを使用すると、​​を使用したい、keypressイベントに一貫して発生しません。あなたのメッセージは、同様にいくつかの問題を持っている代わりに

$('input').on('keydown', function(eInner) { 

    if (eInner.which === 40) { //arrow down 

FIDDLE

、要素は「ドンIDがある場合、jQueryのattrは、idプロパティなどを持たないプリミティブを返します。

+0

ありがとう私は何かを学びました。 IDが追加されます。 – user3058870

関連する問題