什么可以阻止CSS :hover
伪类被CSS或JavaScript触发?
我正在尝试在第三方的自定义日历控件中调试一个非常棘手的问题。客户想要突出显示用户将鼠标悬停在其上的日期 - 相当标准的东西。但是有些东西固执地阻止:hover
类按预期工作。
我可以使用选择器定位日期单元格并操纵background-color
而不会出现任何问题。但是,将:hover
伪类添加到该选择器不起作用。
很遗憾,我无法发布任何代码,因为这是一个需要帐户才能使用的私有应用。真的有这么多spagetti我甚至不知道要包括什么......控件是用纯JS构建的,没有jQuery,没有siree。数百行JS,加上数百行CSS ...不确定使用jQuery日历控件有什么问题。
是否有一组可以破坏:hover
的已知事物?可能是因为从false
事件处理程序返回onhover
引起的事件传播问题吗?
有任何其他调试此问题的建议吗?使用浏览器工具效率不高,因为除非我悬停,否则:hover
规则不会被触发。赶紧去那里。
编辑:This answer似乎是一个可能的罪魁祸首。他们肯定会在混合中使用一些绝对定位......
编辑2:使用Chrome的开发者工具手动应用:hover
状态有效,确认我的选择器不是问题。有些事情阻止:hover
状态被触发。日历控件实现为HTML表格,每周连续一次,每个日期在一个单元格中。它似乎是一个分层问题,但在单元格中添加一个高z-index
并没有做任何事情。
答案 0 :(得分:3)
Chrome的“开发者工具”允许您切换元素的状态。也许你可以尝试一下,看看你是否能更深入地了解你遇到的问题?
答案 1 :(得分:1)
它往往与元素的分层有关。通常,可以通过重新分层HTML来修复此问题,以使锚点最终位于顶部,或将其设置为position: relative
。
答案 2 :(得分:0)
您可能会在取消悬停时!important
阻止悬停。