javascript - CSS :hover and active conflits - a specific case

标签 javascript jquery css

我有以下规则:

.foo { /* default foo style */ }
.foo:hover { /* hover style */ }
.fooactive { /* extra styles when active */ }

在我的 anchor 上,我这样调用:

onclick="showDetails(123,this)"

最后是我拥有的 js 函数,除此之外:

function showDetails(eid, element){
  $('.foo').removeClass('fooactive'); 
  $(element).addClass('fooactive'); 
}

当我点击时,我应该会产生效果,但我并没有立即看到效果,因为我还有一个 CSS :hover 规则,我最终看到了那个效果,只有当我展开那个元素区域时。

我们如何才能在单击时禁用悬停效果,从而不会出现这种奇怪的效果?还有别的办法吗?

最佳答案

.fooactive 的 CSS 规则更新为如下所示:

.fooactive, .fooactive:hover {/* 激活时的额外样式 */}

这将覆盖您在 foo 基类中看到的悬停效果。

关于javascript - CSS :hover and active conflits - a specific case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6390273/

相关文章:

javascript - jquery 按钮的类选择器没有响应

javascript - 在 jquery 回调处理程序中保留变量

javascript - 如何使用 insertAdjacentHTML 方法在文章中显示 javascript 广告单元

javascript - jquery simpleGrid 加载时禁用

html - 将页脚固定到页面底部

javascript - jQuery 从它自己的(自身)链接获取查询字符串

javascript - 删除值后重用 javascript 对象

javascript - 如何将像素值移动到 Canvas 中的下一个鼠标移动位置?

html - 边距在 flexbox 内不起作用以将 child 带到 parent 之外

html - 键入的十进制从浏览器中类型为 'number' 的 HTML 文本输入中消失