标题是自我解释的,这是我到目前为止所拥有的,但背景颜色在mouseout上始终保持灰色,而不是qtip悬停时的粉红色:
$().ready(function() {
$("#openDiv").mouseleave(function (e) {
var used_classes = ['qtip'];
var $c = $(e.relatedTarget).attr('class');
if ($c=='qtip')
{
$("#openDiv").css('background-color', 'pink');
} else{
$("#openDiv").css('background-color', 'grey');
}
});
});
http://jsfiddle.net/bUzPG/21/完成设置。这真让我抓狂!
任何解决此问题的答案都将标记为答案。
答案 0 :(得分:1)
我看到的是当鼠标离开'#openDiv'时事件触发,然后e.relatedTarget将是你离开时输入的任何东西,这没什么。 如果你想要的是主要div在悬停在qtip上时变成粉红色,你应该在qtip上使用.hover(或.mouseenter将其设置为粉红色),就像简单...
$(".qtip").hover(
function() {
$("#openDiv").css('background-color', 'pink')
},
function() {
$("#openDiv").css('background-color', 'white')
}
)
我看到qtip似乎是在DOM准备好之后创建的,所以你可能想要使用.live而不是......
$(".qtip").live('mouseenter', function() {
$("#openDiv").css('background-color', 'pink')
})
.live('mouseleave', function() {
$("#openDiv").css('background-color', 'white')
}
)