jQuery slideToggle在iPhone上不起作用

jQuery slideToggle在iPhone上不起作用,jquery,mobile,Jquery,Mobile,我有一个很奇怪的问题。我正在为一个移动网站做一些导航。单击“菜单”链接时,我希望导航菜单向下滑动,然后在再次单击“菜单”时关闭 这里是一个代码笔的链接 正如您所看到的,我使用的jQuery代码是 $('.menuNav').click(function(){ $('#menu-primary-menu').slideToggle(); }); 此代码笔是从我的实际站点获取的代码 我的实际站点上的导航下拉菜单适用于所有浏览器,甚至可以在IOS模拟器上使用,但是它在我的iPhone上不起

我有一个很奇怪的问题。我正在为一个移动网站做一些导航。单击“菜单”链接时,我希望导航菜单向下滑动,然后在再次单击“菜单”时关闭

这里是一个代码笔的链接

正如您所看到的,我使用的jQuery代码是

$('.menuNav').click(function(){
    $('#menu-primary-menu').slideToggle();
});
此代码笔是从我的实际站点获取的代码

我的实际站点上的导航下拉菜单适用于所有浏览器,甚至可以在IOS模拟器上使用,但是它在我的iPhone上不起作用,即使这个代码笔可以

当你点击菜单时,什么也没发生

我不知道这是为什么或者如何调试。我已经删除了所有其他的JS,但仍然不起作用

我觉得奇怪的是,这个codepen演示在我的iPhone上运行,但实际的代码(相同)不起作用。我使用的是jQuery版本1.9.1


任何帮助都将不胜感激。

我认为这个问题来自CSS,而不是jQuery

尝试清理CSS,问题可能会消失

例如:

  • 菜单上的所有过渡都是无用的,因为您正在使用jQuery来设置它的动画
  • float:菜单项上的左
    是不必要的

您还可以检查菜单或其容器在网站上的位置(绝对、固定…)。iPhone上的定位存在一些问题。

好了,伙计们,我找到了答案。结果证明一切都是正确的,只是我的js文件没有在手机上更新


我在IOS6上使用新的webinspector特性发现了这一点,并检查了文件。然后我清除了我的iPhone缓存,现在开始工作。

代码笔在iPhone上运行良好(如你所说)。你的页面上还有哪些脚本?实际代码是用wordpress编写的。我已禁用所有其他脚本。我已经尝试将.menuNav更改为锚定链接。我不知道还能是什么。你知道wordpress在模式下运行jQuery吗?尝试将jQuery代码包装成:
(函数($){/*此处的代码*/})(jQuery)谢谢你的帮助,但我发现了问题所在