2012-09-26 86 views
13

在我们网站的菜单上,我们有一个用户帐户选项按钮下拉菜单,根据用户名和登录状态动态更改。然而,在Android平板电脑上(使用Firefox),我们似乎无法点击下拉列表中的任何链接,尽管这些链接显示出来,但只要点击它们,下拉框就会消失,并且什么都不会发生。Twitter Bootstrap下拉菜单在平板电脑上不可点击

我正在使用最新版本的Bootstrap(2.1.1),与dropdown plugin。它可以在桌面上运行,并且可以通过平板电脑进行点击,链接仅在点击时关闭弹出窗口。

下面的代码:

 <div class="btn-group pull-right"> 
     <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"> 
      <i class="icon-user"></i> <?php echo $_SESSION['username']; ?> 
      <span class="caret"></span> 
     </a> 
     <ul class="dropdown-menu"> 
      <li><a href="/Profile">Profile</a></li> 
      <li class="divider"></li> 
      <li><a href="#" onClick="logOut();">Sign Out</a></li> 
     </ul> 
     </div> 

有谁知道的一种方式,以使链接来自平板电脑的点击?

+0

我遇到完全相同的问题,您是否找到解决方案? – Niels

+0

我还没有,我刚刚开始从网站上其他位置的下拉链接分开链接,所以这是一种解决方法,而不是解决方案。 – Ecksters

回答

12

这是引导一个bug,希望能在2.1.2纠正 - 在此期间,也有在GitHub上包含临时补丁两种流行的问题(#2975 & #4550)。

这个jQuery修复似乎适用于大多数人并不会修改引导来源:

$('body').on('touchstart.dropdown', '.dropdown-menu', function (e) { e.stopPropagation(); }); 
+0

只是好奇,你认为像这样的东西可以工作在一个不可触摸(但不应该)在手机上的灯箱呢? – akhaku

+0

类似的东西可能会起作用(这个修复特定于Bootstrap上的下拉菜单),但是如果没有看到一些代码就很难说。你使用什么插件? – Sara

+0

我们推出了自己的 - 无论如何,我不会劫持这个线程,如果我无法弄清楚,我会发布自己的问题。 – akhaku

2

要解决的子菜单也:

$('body').on('touchstart.dropdown', '.dropdown-menu', function (e) { e.stopPropagation(); }) 
     .on('touchstart.dropdown', '.dropdown-submenu', function (e) { e.stopPropagation(); }); 
0

这confrmed固定在V2.2和更大。

相关问题