【发布时间】:2018-09-16 03:37:22
【问题描述】:
大家好,我有一个标题,当在小屏幕上显示汉堡菜单时。当我在 PC 或 Android 手机上单击汉堡菜单时,它完全符合我的要求,但当我在 iPhone 8 上的 iOS 上执行此操作时,它什么也没做。我已经在那里设置了一个警报,看看它是否甚至可以识别我的触摸并且它确实使用 $(".myMenu").click(function(){alert("clicked div");}); .但是我尝试了 slideToggle、toggle 和隐藏/显示,但它们都不起作用,它只在 iOS 上存在问题。我正在阅读其他论坛,有人说将其包围在锚标签中,但这不起作用。其他人说我需要将 css 设置为 cursor:pointer 但这不起作用。有人建议清除浏览器上的缓存,但没有奏效。我在 github 上找到了其他 CDN 解决了这个问题,但没有奏效。我读到 ajax 存在问题,因此需要将其设置为 false,这在下面的代码中突出显示并且不起作用。我发现的最后一条建议是确保将显示设置为阻止并且不起作用。我使用的 CDN 可能比我需要的多,但此时我只是添加了我认为相关的 CDN,以查看它们是否有任何作用。我已经尽可能多地看了,我不知道还能去哪里。任何帮助是极大的赞赏。
这是我的 jsfiddle......https://jsfiddle.net/62pmq7ju/9/
<div class="header">
<a><div><img src="img/icon.png" alt="" width="40px" height="45px" class="myMenu"/></div></a>
<div class="hiddenMenu"></div>
</div>
.hiddenMenu {
position: fixed;
width: 100%;
background-image: url(img/headerBackground.jpg);
top:45px;
display: block;
cursor: pointer;
}
.myMenu {
position: relative;
float: left;
padding-left: 5px;
display: block;
cursor: pointer;
}
<script>
$(document).bind("mobileinit", function () {
// jQuery Mobile's Ajax navigation does not work in all cases (e.g.,
// when navigating from a mobile to a non-mobile page), especially when going back, hence disabling it.
$.extend($.mobile, {
ajaxEnabled: false
});
});
$(".hiddenMenu").hide();
$(".myMenu").on("click", function(){
$(".hiddenMenu").toggle();
});
</script>
jsfiddle 在我的 iOS 设备上的 chrome 或 safari 上不起作用,但在我的 android 设备和 widows 笔记本电脑上却可以。请任何帮助将不胜感激,过去三天我一直在努力解决这个问题,我不知道还能去哪里找。如果我在帖子中遗漏了什么,我深表歉意,让我知道您需要什么。
【问题讨论】:
-
一个愚蠢的问题......当你把它放在显示块中时你能看到菜单吗?如果事件正在触发,那么它可能是 CSS 问题...
-
是的,我可以看到。我可以在 iPhone 上看到它,当我触摸它时它会做任何事情。警报有效,但没有别的。它在我的 Android 手机上完美运行
-
我的意思是菜单...我尝试使用 chrome(在 iPhone 8 模式下)查看菜单,我看到元素正在更改但仍然不可见...
标签: jquery html css toggle responsive