2013-03-30 59 views
16
使引導按鈕的下拉菜單中選擇

引導按鈕,下拉菜單:http://twitter.github.com/bootstrap/components.html#buttonDropdowns如何通過鍵盤

當我選擇一個按鈕,下拉菜單,我想用鍵盤上/下的菜單項,然後按Enter鍵,選擇一個之間導航,就像http://twitter.github.com/bootstrap/javascript.html#dropdowns

任何想法?

+1

這可能是一個起點:http://stackoverflow.com/questions/1409214/keyboard-navigation-for-menu-using-jquery – nickhar

回答

17

Bootstrap本身支持鍵盤導航。

只需添加角色= 「菜單」下拉菜單

下面是一個例子,只是保存爲.html和參加考試

<html> 
<head> 
    <link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
    <script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script> 
</head> 
<body> 
    <div class="btn-group"> 
    <button class="btn btn-default">1</button> 
    <button class="btn btn-default">2</button> 
    <button class="btn btn-default">3</button> 
    <div class="btn-group"> 
    <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">menu</button> 
     <ul class="dropdown-menu" role="menu"> 
     <li> <a href="#">one</a> </li> 
     <li> <a href="#">two</a> </li> 
     <li> <a href="#">three</a> </li> 
     </ul> 
    </div> 
    </div> 
</body> 
</html> 

http://jsfiddle.net/damphat/WJS9p/

+5

記住雖然,無論你給'角色=「菜單「'需要能夠獲得關注。請參閱http://stackoverflow.com/a/1600194/601386。只有可以接收焦點的元素才能綁定到鍵盤事件。 – flu

7

可能的原因是這個由於您使用<div>.dropdown-toggle一個<span>

  • :可能無法在某些情況下工作。使它成爲<button>,它會工作。奇怪的是,甚至沒有這種元素的作品:span.btn.btn-default
  • 確保您的每個<li>中的<a>元素具有href="#"href=""的屬性或通常具有定義的屬性。
  • 確保您在.dropdown-menu元素上有role="menu"