[英]On selection of a table row disable “hover” css styling
我有一个表格,其中为每行的“悬停”设置了CSS样式,例如,
#accordion .time_period:hover {
background-color: #d0d0d0;
}
现在,当选择该表的一行时,我正在捕获点击并希望添加一个类,以便随后可以对当前类应用一些CSS格式,例如,
$('.time_period_rows tr').click(function(){
$(this).toggleClass('selected');
});
#accordion .selected {
background: #222;
}
这工作到一定程度...但是,我要的是在选择一行时关闭所选行上的悬停效果。 因为现在直到移开鼠标,我才能看到选择格式。
我能想到的唯一方法是设置另一个“悬停”类,该类仅在找到悬停类时才应用悬停CSS,并将该类与选择类一起切换。
我想知道是否有更简单的方法?
这对我来说在Firefox中有效(旧版浏览器无法识别):
#accordion .time_period:not(.selected):hover {
background-color: #d0d0d0;
}
如果没有selected
类,则仅显示悬停。
小提琴: http : //jsfiddle.net/rxWKY/
你可以简单地做到这一点
#accordion .selected:hover{background:#222;}
听起来您只需要更新CSS:
#accordion .time_period:hover {
background-color: #d0d0d0;
}
#accordion .selected,
#accordion .selected:hover {
background-color: #222;
}
确保.selected的伪类出现在之后,否则您将得到混合的结果。 有关此的更多信息。
您可以使用一个selectable
的附加类。 将悬停效果应用于该类,然后单击将其从单击的元素中删除。 它和您所做的一样简单,只是“相反”(删除类而不是添加类)。 这是现场演示 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.