当javascript

时间:2019-03-02 15:53:02

标签: javascript html css safari

我有一个网站,在CSS中为支持悬停的浏览器定义了:hover。 CSS .has_hover a:hover {color:red;}位于标头中,而javascript位于</body>标签之前。

var canHover = !(matchMedia('(hover: none)').matches);   
if (canHover) {
  document.body.classList.add('has_hover');
}

在Safari(OS X 10.11.6上的v11.1.2)中,悬停功能会间歇性地工作(适用于所有链接或没有链接)。如果右键单击链接,则悬停将仅针对该链接开始工作。如果检查了页面,并且在开发工具中将:hover应用于任何链接,则悬停将开始对所有链接起作用。如果我调整窗口大小,则悬停将开始对所有链接起作用。

我认为将类添加到body标签时与javascript时间有关。通过延迟javascript代码的执行,我已经能够在CodePen中复制此问题。

https://codepen.io/ejg/pen/LaNEXK

有什么方法可以强制Safari识别:hover而无需重新呈现页面?

0 个答案:

没有答案