为什么我的悬停状态没有被jQuery删除?

时间:2015-04-28 12:25:37

标签: jquery css

这是你的小提琴:Click me

我目前想要在点击时删除悬停状态,我在这里做了一些研究,发现大多数人建议使用jquerys .removeClass()作为最简单的方法。

但是,这对我不起作用。我尝试给我的选择器提供类或ID,无论我尝试什么,它都行不通。

我到底错在了什么?

提前致谢。

3 个答案:

答案 0 :(得分:6)

因为:hover是一个选择器而不是一个类,使用.removeClass()将不起作用。您要么必须完全使用JS,要么使用另一个CSS类禁用该行为,例如:

http://jsfiddle.net/fc0y6dk3/1/

<script>
    function unhover(){
        $('.topmenu').addClass("nope");        
    }
</script>

CSS:

.topmenu:not(.nope):hover {
    background: yellow;
}

答案 1 :(得分:2)

:hover不是一个类,但可以通过添加第二个类并根据jsfiddle删除它,但已更新

来修复它
<div class="topmenu topmenu2">
    <button type="button" style="position:absolute; left:200px; top:50px" onclick="unhover()">OK</button>
</div>

<script>
    function unhover(){
    $('.topmenu').removeClass("topmenu2");        
}
</script>

.topmenu, .topmenu2{
    width: 500px;
    height:100px;
    background: grey;
}

.topmenu2:hover{
    background: yellow;
}

答案 2 :(得分:1)

嗨我可能会迟到给出答案,但如果你想在这里是链接

http://jsfiddle.net/Saiyam/fc0y6dk3/4/

我所拥有的不是removeClass您可以使用toggleClass来添加和删除点击类。