移动菜单快速折叠

Posted

技术标签:

【中文标题】移动菜单快速折叠【英文标题】:mobile menu collapsing quickly 【发布时间】:2018-02-07 10:49:40 【问题描述】:

我正在使用 WordPress 建立这个网站:www.heartofglass.gg 我已经为我的商店安装了 twi carousel 插件,但这会导致与移动菜单发生冲突。当我删除插件时,菜单可以正常工作,但我希望能够使用该插件。


更新:我认为这里可能有 2 个问题: 1. 部分浏览器(Chrome、IE)菜单立即折叠 2.菜单项需要在ios设备上“双击”(单击折叠菜单,双击正确跟随链接)。


问题是,当在某些设备(主要是 ios)中打开移动菜单时,它会立即折叠。从笔记本电脑以小窗口大小查看时也是如此(在 Windows 和 Mac 上使用 Chrome 和 IE 进行测试)在笔记本电脑上,仅当鼠标按下一秒钟时,菜单才会保持打开状态。然后菜单将在按钮释放时打开并保持打开状态。

注意:它在 macbook 上的 Safari 上可以正常工作,但在我的 iPhone 5c 上,菜单会打开,但链接只能在双击时工作。

在 Chrome 的开发者控制台中,当我单击菜单上的 时,出现以下错误:

未捕获的类型错误:无法读取未定义的属性“触发器” 在 frameworks.min.js?ver=4.8.1:9

另外:这可能与“悬停”功能有关吗?我了解到“双击”问题在 ios 设备上很常见。

更进一步: 在 Chrome 开发者窗口中;如果我删除了frameworks.min.js 事件侦听器以获取pointerup 并touchend 菜单保持打开状态(仅在桌面上尝试过)...我不知道这是否有任何相关性。

如果我已经使用插件设置了我的店面并且喜欢它的功能,我将不胜感激任何帮助解决这个问题,但显然,我需要菜单才能跨设备工作。

提前致谢

31.8.17:仍然没有解决方案,感谢任何帮助

【问题讨论】:

它对我来说很好,在 Firefox 中使用响应模式。另外,你的帖子不是很清楚。尝试解释您期望发生的事情与实际发生的事情相比,并详细说明您为尝试解决此问题所做的任何事情。此外,如果您有其他信息,最好是更新您的问题,而不是在 cmets 中添加信息。 感谢 Phill,我将进行编辑以使其更清晰。 感谢您的帮助。我添加了更多信息,希望这能让我遇到的问题更清楚。 你为什么不安装一些免费的插件。 【参考方案1】:

它快速崩溃的原因是因为事件传播,尝试在插件代码中找到菜单切换的事件侦听器并放入event.stopPropagation();确保参数event存在

更新:

modules.min.js 中找到的这段代码虽然是缩小版,但给你带来了麻烦

b.on("tap click", function(a) 
  a.stopPropagation(),
  a.preventDefault(),
  c.is(":visible") ? c.slideUp(e) : c.slideDown(e)
)

原因是因为您创建了 2 个事件的事件侦听器,这两个事件都在单击 which will make your menu show then hide 时执行以防止这种情况只使用 1 个事件,即 click (click also works on mobile) 使用 @987654328 @用户使用移动设备时的事件,click 在非移动设备上@9​​87654321@。

【讨论】:

感谢您的帮助...这对我来说是新的,您能详细解释一下吗? 我更新了解释的答案,尽管我发现它与传播无关 谢谢@masterpreenz ...我已经尝试过了,但它没有用,但我有更多信息,所以在问题中添加了更多细节。

以上是关于移动菜单快速折叠的主要内容,如果未能解决你的问题,请参考以下文章

在折叠移动显示所有引导子菜单为打开

按下后退按钮时,自动折叠移动设备上的下拉导航栏菜单

现代都市风 移动端可折叠导航菜单

现代都市风 移动端可折叠导航菜单

如何创建带有 2 个折叠菜单的导航栏? [复制]

在折叠时合并多个 Bootstrap 3 导航栏菜单