我遇到了一个奇怪的问题:
我设置了一个悬停的h2,jQuery应该检查h2是否有一个“主要活跃”类:
$('h2').hover(function (){
if ($(this).not('.main-active')){$(this).css('color','white');}
});
$('h2').mouseout(function (){$(this).css('color','black');});
不知怎的,当它有“主要活跃”类时,它继续将h2悬停在白色上?
有什么想法吗?
答案 0 :(得分:1)
试试这个解决方案:
$('h2').hover(function (){
if (!$(this).hasClass('main-active')){$(this).css('color','white');}
});
$('h2').mouseout(function (){$(this).css('color','black');});
答案 1 :(得分:0)
当hover函数本身绑定mouseover / mouseout事件时,为什么要手动使用hover然后手动mouseout?
出了什么问题:
$('h2').hover(function() {
var e = $(this);
if (e.hasClass('main-active')){e.css('color','white');}
}, function() {
var e = $(this);
if (e.hasClass('main-active')){e.css('color','black');}
});
});
PS:最好只使用$()一次并将其缓存到变量中,这样jQuery就不需要每次都将元素解析为一个对象 - 就像上面的代码一样:var e = $(本)