Javascript classlist.toggle()在mobile safari上无法按预期工作

Javascript classlist.toggle()在mobile safari上无法按预期工作,javascript,mobile-safari,Javascript,Mobile Safari,我有一个功能,可以将一个开放类添加到下拉菜单中,以便它在移动浏览器上保持打开状态 该功能在safari上也很好地工作,但现在我发现它在safari上不像以前那样工作 问题:它会打开下拉菜单,但只有在重新加载站点(或切换到另一个站点)时才会关闭 经过测试,我什么都没有,因为我甚至不知道代码会出什么问题。 在chrome、firefox、edge和android上的chrome中,它工作正常 函数如下(非常简单) 你知道只有在旅行中才会出什么问题吗 编辑:更正应该说明它在哪些浏览器上工作的句子(放弃

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

经过测试,我什么都没有,因为我甚至不知道代码会出什么问题。 在chrome、firefox、edge和android上的chrome中,它工作正常

函数如下(非常简单)

你知道只有在旅行中才会出什么问题吗

编辑:更正应该说明它在哪些浏览器上工作的句子(放弃说明这一点的部分)

在不使用内容拦截器的情况下重新加载? 不确定这是否与您所经历的情况相同,但我曾在我妻子的iPhoneX上使用过mobile Safari,但在我的iPhone6上没有。结果证明这个模型是不相关的。我的iPhone上运行了广告/跟踪拦截器,阻止了脚本加载


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

Safari<5.1不支持ClassList,在一些较旧的iPhone上,该属性可能根本不存在。你能检查一下你的safari版本吗?我自己没有iphone,一个朋友在他的手机上为我测试了它,它工作了,他告诉我,他的意思是它是一个旧版本,不再更新了。几天前,有人告诉我它对他不起作用,另一个朋友再次测试了它(他的意思是它不超过他的safari版本的一个月)-如果我的另一个朋友有时间再次测试(使用较旧的safari版本),他会再次测试它。我忘了,是用较旧的safari版本为我测试它的朋友,它工作的测试就像一年前一样,从那时起代码就没有改变(并且从未对任何一个有iphone的人进行过测试),新的iphone X上也存在类列表问题。直到另一个事件发生后,切换才会生效。。奇怪。。我希望从这里得到一个解决方案。@KalleH.Väravas遗憾的是,我从来没有找到一个解决方案,但这只是针对手机(特别是iphone)的修复方案,css下拉菜单不起作用。但我找到了一个解决方案,可以修复iphone上的css下拉列表,使它至少可以打开,即使无法关闭。对于任何感兴趣的人:要使用下拉列表:hover它必须是一个元素,浏览器知道它有一个动作,比如a标记,添加onclick=“”;也行。我两者都做了,用onclick做了一个a标记,以防止#set as heref出现在链接本身中。
function togglenav(tagid) {
    document.getElementById(tagid).classList.toggle('navopen');
}