2017-05-18 8 views
1

bootstrap4ドロップダウンメニューをキーボードで選択するにはどうすればいいですか? tabindex="0"キーボードでbootstrap4ドロップダウンメニューを選択できるようにするには?

<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet"/> 
 

 
<div class="dropdown show"> 
 
    <a class="btn btn-secondary dropdown-toggle" href="https://example.com" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 
 
    Dropdown link 
 
    </a> 
 

 
    <div class="dropdown-menu" role="menu" aria-labelledby="dropdownMenuLink"> 
 
    <a class="dropdown-item" href="#">Action</a> 
 
    <a class="dropdown-item" href="#">Another action</a> 
 
    <a class="dropdown-item" href="#">Something else here</a> 
 
</div>

+0

下のコードをチェックし、あなたがすでに –

答えて

1

あなたは今、ドロップダウンリストを開き、リスト項目をナビゲートするtabを使用して、キーtab、キーspaceを使用することができます。

はまた、あなたのソース参照の順序が間違っていた、

$(document).ready(function() { 
 
    $('.dropdown').keydown(function(e) { 
 
    switch (e.which) { 
 
     // user presses the "up arrow" key 
 
     case 38: 
 
     var focused = $(':focus'); 
 
     if (focused.hasClass('dropdown-toggle') || focused.is(':first-child')) { 
 
      $('.dropdown').find('.dropdown-item').first().focus(); 
 
     } else { 
 
      focused.prev().focus(); 
 
     } 
 
     break; 
 
     // user presses the "down arrow" key 
 
     case 40: 
 
     var focused = $(':focus'); 
 
     if (focused.hasClass('dropdown-toggle') || focused.is(':last-child')) { 
 
      $('.dropdown').find('.dropdown-item').first().focus(); 
 
     } else { 
 
      focused.next().focus(); 
 
     } 
 
     break; 
 
    } 
 
    }); 
 
});
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet" /> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js"></script> 
 

 

 

 
<div class="dropdown show"> 
 
    <a class="btn btn-secondary dropdown-toggle" href="https://example.com" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 
 
    Dropdown link 
 
    </a> 
 

 
    <div class="dropdown-menu" role="menu" aria-labelledby="dropdownMenuLink"> 
 
    <a class="dropdown-item" href="#" tabindex="0">Action</a> 
 
    <a class="dropdown-item" href="#" tabindex="0">Another action</a> 
 
    <a class="dropdown-item" href="#" tabindex="0">Something else here</a> 
 
    </div> 
 

 
</div>

+0

感謝をしようとしたものを提供してください。これはbootstrap3のような矢印キーで可能ですか? - http://getbootstrap.com/components/#dropdowns-example – user4812479812

+0

@ user4812479812 okコードを更新しました。キーボードの上向き/下向き矢印を使用してリスト項目を移動できます。 –

関連する問題