Javascript Jquery中的悬停事件不起任何作用
我有一段javascript代码,当它悬停在上面时,它会突出显示一个导航选项卡,但每当我用鼠标悬停时,它什么也不做。我该怎么办Javascript Jquery中的悬停事件不起任何作用,javascript,jquery,html,css,event-handling,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","");
$("nav ul li").hover(
function(){
$("nav ul li").css("background-color","rgba(255,255,255,0.9)");
},
function(){
$("nav ul li").css("background-color","");
}
);
最好的方法是使用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","");
}
);
但这是第二个最好的选择。如果要工作,这将突出显示所有选项卡。。。因为您不使用CSS,所以实际上不需要使用JavaScript。为此,请使用CSS,nav ul li:hover{background color:#color},所以问题是您在页面上存在元素之前进行绑定,或者选择器错误。用上面的代码无法分辨。基本的console.log语句可以帮助您解决这个问题。它不是
nav ul li:hover{background color:…}nav ul li{background:inherit;}
?哈哈,没关系。@Snowmonkey:是的——这就是为什么我键入冒号,然后显然忘了键入hover,然后把自己彻底弄糊涂了。谢谢布兰登的修复!或者,如果你必须使用js进行悬停,但仍然可以使用css类,那么就使用css类。@freedomn-m:是的,我甚至在回答时添加了这个。。。