我已经使用css定义了<a>
标记。我正在尝试停止:hover
标记上的默认样式表a
更改。如何在Jquery中禁用a标签上的悬停更改?
答案 0 :(得分:12)
以下解决方案的现场演示:http://jsbin.com/umiru
-
我能想到的最简单的方法就是改变:
a:hover { ... }
到
a.someClass:hover { ... }
然后通过jQuery的方法添加/删除.someClass
:
$(this).addClass("someClass"); // activates css rules for :hover
$(this).removeClass("someClass"); // deactivates css rules for :hover
答案 1 :(得分:6)
这是一个没有黑客攻击类的解决方案:
CSS:
a {color: blue;}
a:hover {color: red;}
jQuery(使用jQueryUI为颜色设置动画):
$('a').hover(
function() {
$(this)
.css('color','blue')
.animate({'color': 'red'}, 400);
},
function() {
$(this)
.animate({'color': 'blue'}, 400);
}
);
答案 2 :(得分:2)
最简单的方法是为特定标记创建新的CSS规则。像
这样的东西a.linkclass:hover {color:samecolor}
如果必须使用JQuery覆盖默认样式,则必须在悬停状态下手动添加css规则,如下所示:
$('a.linkclass').hover(function(){
$(this).css({'color':'samecolor'});
});
希望这个帮助
答案 3 :(得分:0)
只需在没有“a:hover”
的情况下定义CSSa { color: #fffff }
此CSS将覆盖a:link,a:hover,a:visited和a:active。