2011-07-08 53 views
0

タイトルは自己説明的ですが、これまでの説明はありますが、背景色はmouseoutではなくグレーのままですQティップホバーにピンク:mouseleave div、背景色を灰色に変更、mouseleaveでdiv内で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/完全なセットアップで。これは私を夢中にさせている!
この問題を解決するすべての回答が回答としてマークされます。

答えて

1

私が見るものは、マウスが '#openDiv'を離れるとイベントが発生し、e.relatedTargetは出発時に何でも入力するものです。何もありません。 メインのdivは、Qティップの上にマウスを移動するとき、あなたは、単にのように、Qティップの上(ピンク、それを設定するか、.mouseenter).hover使用する必要があるピンクを行くの何が欲しいのは、私は

$(".qtip").hover(
    function() { 
    $("#openDiv").css('background-color', 'pink') 
    }, 
    function() { 
    $("#openDiv").css('background-color', 'white') 
    } 
) 

...である場合DOMの後にqtipが作成されているように見えるので、代わりに.liveを使用したいと思うかもしれません。

$(".qtip").live('mouseenter', function() { 
    $("#openDiv").css('background-color', 'pink') 
    }) 
    .live('mouseleave', function() { 
     $("#openDiv").css('background-color', 'white') 
    } 
) 
+0

ありがとうございますRodolfo – Wonka