1

jQuery mobile 和 jQuery UI 用它们自己的元素包装你的元素。有时这些包装元素有一个 :hover 规则。如果出于某种原因,您不希望悬停规则触发您可以做什么?

  1. 一个反 :hover 类,它使元素在悬停期间保持您想要的方式
  2. 在元素上方放置一个 div

问题是如果你应用主题,反类将会失败。您可以使用 getComputedStyles 和 Javascript 构建类,但由于某种原因,它似乎只保留了大约 90% 的所需样式。

顶部 div 的问题是:当鼠标触摸覆盖 div 的角落时, :hover 仍然会在底层 div 上触发。

4

1 回答 1

2

为撤消任何 CSS 更改的元素创建一个更新的更具体的 :hover 选择器。您可以阅读特异性,但最快的方法通常是添加一个额外的祖先,但保留选择器的其余部分。

例如,如果当前选择器是类似的,.jquery-ui-dialog .jquery-ui-button:hover {...}那么在类似中添加父级body .jquery-ui-dialog .jquery-ui-button:hover {...}将提供更多的特异性,从而覆盖任何冲突的规则。

于 2012-10-04T13:18:57.297 回答