javascript - classlist.toggle() 在移动 Safari 上无法按预期工作

标签 javascript mobile-safari

我有一个功能可以将开放类添加到下拉菜单中,以便它在移动浏览器上保持打开状态 该功能在 safari 上也运行良好,但现在我发现它不像以前那样在 safari 上运行 问题:它打开了下拉菜单,但只有当您重新加载网站(或切换到另一个网站)时它才不再关闭

经过测试,我什么都没有,因为我不知道该代码可能会出现什么问题。 在 chrome、firefox、edge 以及 android 上的 chrome 中都工作正常

函数如下(非常简单)

function togglenav(tagid) {
    document.getElementById(tagid).classList.toggle('navopen');
}

你知道只有在 Safari 上才会出现什么问题吗?

编辑:更正应该告诉其在哪些浏览器上运行的句子(忘记了说明这一点的部分)

最佳答案

在没有内容拦截器的情况下重新加载?

不确定这是否与您遇到的情况相同,但我有 almost identical JavaScript在我妻子的 iPhone X 上的移动 Safari 浏览器中可以使用,但在我的 iPhone 6 上却不行。事实证明,该模型无关紧要。我有 Better我的 iPhone 上运行的广告/跟踪拦截器阻止了脚本加载。

如果是这种情况,请点击/按住 URL 并“重新加载,不使用内容拦截器”。对我有用,但值得记住的是,我妻子手机上的移动 Safari 可以顺利加载它。

关于javascript - classlist.toggle() 在移动 Safari 上无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47565674/

相关文章:

html - Mobile Safari 中的背景颜色和橡皮筋滚动

javascript - jQuery touchstart 多个元素

javascript - IOS 禁用键盘标签箭头

javascript - 获取动态生成的文本字段的值

javascript - 普通 Javascript 将字符串从小写字母拆分为 UPPER

javascript - 动画 SVG 蒙版删除

javascript - 获取表id

css - 翻转动画在 Safari 上不起作用

javascript - 你如何在 node.js 中共享 EventEmitter?

css - 除非没有子项,否则 Mobile Safari 不会在视口(viewport)外呈现固定元素