Jquery中的悬停事件没有任何作用

时间:2018-01-18 15:50:21

标签: javascript jquery html css event-handling

我有这个javascript代码突出显示的是导航标签,当它悬停在上面时,但每当我用鼠标悬停时它都没有。我该怎么办?

$("nav ul li").hover(
    function(){
        $("nav ul li").css("background-color","rgba(255,255,255,0.9)");
    },
    function(){
        $("nav ul li").css("background-color","");
    }
);

1 个答案:

答案 0 :(得分:3)

最好的方法是使用CSS:

nav ul li:hover {
    background-color: rgba(255,255,255,0.9);
}

如果您被迫使用JavaScript,您可能希望在回调中使用this来识别悬停的特定li,请参阅评论:

$("nav ul li").hover(
    function(){
        // Give this LI a specific background color  
        // and remove it from siblings, just in case 
        $(this).css("background-color","rgba(255,255,255,0.9)")
            .siblings("li")                                    
                .css("background-color","");
    },
    function(){
        // Remove it when we lose hover 
        $(this).css("background-color","");
    }
);

但那是第二好的选择。