Div, оставив указатель мыши, измените цвет фона на серый, оставьте указатель мыши на вызванный Qtip внутри элемента div, измените цвет фона на розовый - PullRequest
0 голосов
/ 08 июля 2011

Название самоочевидно, вот что у меня пока есть, но цвет фона всегда остается серым при наведении мыши, а не розовый при наведении 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 Ответ

1 голос
/ 08 июля 2011

я вижу, что событие возникает, когда мышь покидает «#openDiv», и тогда e.relatedTarget будет тем, что вы вводите, когда уходите, и это ничто.Если вы хотите, чтобы основной div стал розовым при наведении курсора на qtip, вы должны использовать .hover (или .mouseenter, чтобы установить его розовый) на qtip, например просто ...

$(".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')
    }
)
...