使用jquery删除css:hover属性

可以说我有

 #container:hover{background:red}  

当我在提交时hover, #container仍然是红色的。 我可以删除它:使用jqueryhover在输入鼠标hover上吗? 我不想改变bg $('#container').css('backgroundColor','color') ,我需要像$('#container').removeAttr('hover')

不幸的是,用jQuery管理CSS伪类是不可能的。

我建议你操作类,如下所示:

  

您无法删除伪类规则,但可以使用事件绑定覆盖它们:

 $("#container").on('mouseover', function () { $(this).css('background', 'blue'); }).on('mouseout', function () { $(this).css('background', whateverItIsNormally); }); 

这可能有点复杂,当然可以使用优化,但您可以使用到目前为止发布的组合:

jsFiddle: http : //jsfiddle.net/psyon001/Vcnvz/2/

  

取决于您的浏览器指针 – 事件:无可能有帮助

https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events

我申请了这个:

 element.click(function(){ element.hover( function(){ element.css('background-color', ''); element.css('color', ''); }, function(){ element.css('background-color', ''); element.css('color', ''); }); }); 

它似乎可以在保留原始CSS的同时删除hover属性。

我们可以在css和Jquery的帮助下覆盖CSShover效果

 $('div').hover(function(){ $(this).addClass('nohover');}) In CSS Add Class .nohover .nohover { pointer-events:none; }