从打开的Bootstrap 3下拉菜单切换到另一个下拉菜单需要在移动设备上额外点按

时间:2016-10-24 09:20:29

标签: javascript css twitter-bootstrap drop-down-menu twitter-bootstrap-3

当打开引导程序下拉列表时,打开另一个下拉列表需要两次点击。这是因为一个重叠的div会吞下所有其他输入以关闭第一个下拉列表。

这是一个已知的错误。根据引导程序documentation

  

在移动设备上,打开下拉列表会添加.dropdown-backdrop   点击菜单外部时关闭下拉菜单的区域,a   正确的iOS支持要求。这意味着从一个切换   打开下拉菜单到另一个下拉菜单需要额外点击   在移动设备上。

但是,行为并不一致。背景叠加应用于.navbar-nav内的下拉菜单,据我所知,在我的iPhone(Safari)上,一切似乎都适用于我。

查看此jsfiddle以查看不同的行为。

有没有人更了解这应该适用于iOS的特定问题,是否有人为此设置了与浏览器兼容的解决方法?

2 个答案:

答案 0 :(得分:1)

我已在此jsfiddle中发布了一些可能的解决方案。

1)隐藏背景

.dropdown-backdrop {
    display: none;
}

2)将.navbar-nav应用于下拉列表(并删除负边距)。

使用Windows(Chrome)和iPhone(Safari)。没有经过测试。有谁知道这些方法的任何问题?这似乎太容易了......

答案 1 :(得分:0)

显然,这是由于“ click”事件在iOS Safari中无法正常弹出,这会使Bootstrap无法使用一个全局处理程序来监听关闭的点击。似乎为Bootstrap 4添加了不同的解决方法,因此不再需要使用背景幕:

https://github.com/twbs/bootstrap/pull/22426