有什么可以阻止CSS:hover类工作?

时间:2012-09-30 21:43:33

标签: javascript css

什么可以阻止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并没有做任何事情。

3 个答案:

答案 0 :(得分:3)

Chrome的“开发者工具”允许您切换元素的状态。也许你可以尝试一下,看看你是否能更深入地了解你遇到的问题?

Chrome Developer Tools - Styles - Toggle Element State

答案 1 :(得分:1)

它往往与元素的分层有关。通常,可以通过重新分层HTML来修复此问题,以使锚点最终位于顶部,或将其设置为position: relative

答案 2 :(得分:0)

您可能会在取消悬停时!important阻止悬停。