【发布时间】:2017-11-30 04:03:37
【问题描述】:
我有一个功能可以将开放类添加到下拉菜单中,以便它在移动浏览器上保持打开状态 该功能在 safari 上也能正常工作,但现在我发现它不像以前那样在 safari 上工作 问题:它会打开下拉菜单,但只有在您重新加载网站(或切换到另一个网站)时才会关闭
经过测试,我一无所知,因为我不知道该代码甚至会出现什么问题。 在 chrome、firefox、edge 中也可以在 android 上的 chrome 中正常工作
函数如下(很简单)
function togglenav(tagid) {
document.getElementById(tagid).classList.toggle('navopen');
}
知道只有在 safari 上会出现什么问题吗?
编辑:更正应该告诉它在哪些浏览器上工作的句子(忘记说明这一点的部分)
【问题讨论】:
-
ClassList 不受 safari
-
我自己没有 iphone,一个朋友在他的手机上为我测试过它有效,他告诉我他的意思是它是一个不再更新的旧版本。几天前有人告诉我这对他不起作用,另一位朋友再次测试了它(他的意思是他的 safari 版本不超过一个月) - 如果我的另一个朋友有时间再次测试(使用旧的 safari 版本)他会测试又来了
-
哦,我忘了,用旧版 safari 为我测试它的朋友,它工作的测试就像一年前一样,从那时起代码没有改变(并且再也没有从任何有 iPhone 的人)
-
classList 问题也出现在新 iPhone X 上。在发生另一个事件之前,切换不会生效..奇怪..我希望从这里得到解决方案。
-
@KalleH.Väravas 遗憾的是我从来没有为此找到一个,但这只是 CSS 下拉不起作用的手机(特别是 iPhone)的修复。但我找到了修复 iphone 上的 css 下拉菜单的解决方案,因此即使无法关闭它也至少会打开。对于任何感兴趣的人:对于使用 :hover 的下拉菜单,它必须是浏览器知道它具有操作的元素,例如 a 标签,添加 onclick="";也可以。我两者都做了,用 onclick 把它变成了一个标签,以防止 # set as heref 出现在链接本身中。