我有data-hover="dropdown"
的下拉菜单。我一直在收到一些用户的报告,说明他们没有显示下拉菜单。最合作的用户表示它发生在Chrome 55.0.2883.87m(在Windows 10 14393.576上),并且在其他浏览器上不会发生。我有完全相同的Chrome和Windows,菜单显示正常。
我的网站:tipulnagish.co.il - 从主菜单打开下拉列表。
该网站使用Bootstrap v3.2.0,菜单基本上是:
<ul id="menu-main" class="nav navbar-nav">
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown">
<a href="#" class="dropdown-toggle" data-hover="dropdown" data-delay="500" data-close-others="false"><span>חיפוש מטפל/ת לפי מקצוע</span></a>
<ul class="dropdown-menu">
<li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/listing-category/פסיכולוגי"><span>טיפול פסיכולוגי / פסיכותרפיה</span></a></li>
(etc.)
可能是什么原因?
我或许可以让TeamViewer访问用户的机器。我该怎么检查呢?
更新
navigator.maxTouchPoints
进行了特殊处理 - 我在整个网站中都没有找到任何此类引用。答案 0 :(得分:1)
结果data-hover="dropdown"
触发插件bootstrap-hover-dropdown,其中包含禁用启用触摸的设备上的悬停的代码:
$.fn.dropdownHover = function (options) {
// don't do anything if touch is supported
// (plugin causes some issues on mobile)
if ('ontouchstart' in document) return this; // don't want to affect chaining
The plugin's issue #68详细讨论了这一点,没有任何好的解决方案。作为一种解决方法,我将data-toggle="dropdown"
添加到我的标记中,因此触摸用户可以通过单击/触摸打开菜单。这有一些怪癖,但与非触摸用户看到的悬停行为相当合理。
使用Visual Event Chrome extension,我看到菜单栏已绑定事件mouseover/mouseout
,受影响的(触摸)计算机没有。这些事件已注册bootstrap-hover-dropdown.js
,就在此之前,上述代码会禁用在触摸设备上悬停。