jQuery toggle()在iOS上不起作用

jQuery toggle()在iOS上不起作用,jquery,ios,iphone,animation,Jquery,Ios,Iphone,Animation,TL;博士版本在底部 我正在为一门大学课程的期末考试做一个项目,但它碰巧也是一个有用的工具,专门设计用于移动设备和智能手机,特别是在我想让同事使用的工作中 但我遇到了一个问题,经过几个小时的研究,我还没能解决这个问题。这并不夸张;我已经尝试了我能想到和/或找到的所有资源。许多谷歌搜索使用不同的术语,询问其他(有经验的)程序员,摆弄代码,阅读文档,阅读大量的问题和答案等等,可能还有一些其他的事情。我一定不是在问谷歌正确的问题,因为这似乎是非常普遍的事情 问题正如问题标题所述:jQuery中的.to

TL;博士版本在底部

我正在为一门大学课程的期末考试做一个项目,但它碰巧也是一个有用的工具,专门设计用于移动设备和智能手机,特别是在我想让同事使用的工作中

但我遇到了一个问题,经过几个小时的研究,我还没能解决这个问题。这并不夸张;我已经尝试了我能想到和/或找到的所有资源。许多谷歌搜索使用不同的术语,询问其他(有经验的)程序员,摆弄代码,阅读文档,阅读大量的问题和答案等等,可能还有一些其他的事情。我一定不是在问谷歌正确的问题,因为这似乎是非常普遍的事情

问题正如问题标题所述:jQuery中的.toggle函数没有在iOS设备上触发touchstart事件。它特定于操作系统,而不是浏览器,因为它在Safari或iOS上的Chrome中不起作用。然而,它在我试过的其他任何东西上都有效,包括ChromeWin、FirefoxWin和ChromeAndroid

情景:

我创建了一个小div按钮,上面有三行或汉堡包菜单标志符号。点击时,列出导航选项的菜单应该从屏幕右侧滑入,再次点击按钮时滑出

我正在使用jQuery2.1.1、jQueryUI 1.11.2,以及一个用于脚本的自定义文件,该文件名为thd_scripts.js

以下是文档标题中的脚本代码:

<script src="includes/scripts/jquery-2.1.1.min.js"></script>
<script src="includes/scripts/jquery-ui.min.js"></script>
<script src="includes/scripts/thd_scripts.js"></script>
以及HTML中按钮的代码:

<div id="menuButton">
    <img id="menuSprite" class="menuButtonImage" src="images/menu_button.svg" />
</div>
TL;DR版本

我无法通过触摸屏幕上的div在iOS/iPhone设备上获得从屏幕外滑入的菜单。touchstart事件正在按应有的方式启动,jQuery动画为。切换“幻灯片”不起作用


如何实现这一点?

我只想在这里再次检查-您的javascript以menuWrapper为目标,但我无法在HTML中看到menuWrapper。你的目标是正确的元素,是吗?@Christian Varga-非常好的观点和问题,这是正确的-我的目标是正确的元素。menuWrapper保留菜单元素,以确保在动画期间正确显示菜单上的框阴影。编辑:我会假设,如果我没有针对正确的元素,整个事情将失败的不仅仅是iOS,是吗?我真的在问,因为我对这一点还不够了解,所以我不会假设我知道我在说什么。。。在任何情况下;
<div id="menuButton">
    <img id="menuSprite" class="menuButtonImage" src="images/menu_button.svg" />
</div>
.bind() / .on()
click / touch / tap / touchstart (only touchstart seems to fire on iOS)
.toggle() [no parameters]
.toggle('slide')
.slideToggle()