移除/取消绑定hover在锚点上

HTML

Home 

CSS

 a { color: blue; } a:hover { color: red; } 

现在你可以看到现在在hover时会变成红色。


如何通过jQuery删除hover?
我试过了: $('a').unbind('hover');$('a').unbind('mouseenter mouseleave')

我开始想为什么它不起作用,这不是hover()

由于a:hover不是锚标记上的绑定事件,并且只是一个伪类,因此您不会成功解除.hover()事件的绑定。

如果你想改变行为,那么你可以做两件事

  1. 删除a:hover样式

  2. 在锚标记上绑定hover事件并相应地设置css。

不。这是一个CSS规则,而不是JavaScript事件。
更改颜色的最简单方法是通过更强大的CSS规则,例如:

 a.NoHover:hover { color: blue; } 

要么

 body a:hover { color: blue; } 

您可以添加/删除类并使用JQuery进行相应的操作。 因此,您应该为正常状态和hover状态创建类。 例如,您可以从元素中删除样式,如下所示:

 $('a').mouseover(function(){ $(this).removeClass(); }); 

但我建议您使用以下方法实际添加和删除类:

addClass()
removeClass()

如果它唯一的颜色你可能会有所帮助。

 $('a').each(function() { var $this = $(this); $this.css('color', $this.css('color')); }); 

元素的style属性将覆盖任何CSS选择器中设置的属性。 该理论已经过测试并且工作正常。 这个插件将读取任意css属性并将它们设置回来因此“粘贴”它们。

 $.fn.stickCss = function(props) { var stick = (props || '').split(/\s+/); return this.each(function() { var $this = $(this); $.each(stick, function(i, prop) { $this.css(prop, $this.css(prop)); }); }); }; // example usage: $('a').stickCss('color background-color margin padding');