2010-12-04 4 views
0

У меня проблема. Когда моя мышь наводится над div, в div появляется текст. И когда он выйдет из div, текст исчезнет. Моя проблема, однако, когда мышь над появившимся текстом, он будет считать, что это мышь из div, в результате чего текст исчезает. Как я могу это сделать, чтобы этого избежать? Я хочу, чтобы текст оставался до тех пор, пока мышь находится в div, даже если она находится над текстом. Спасибо ..Наведите указатель мыши на текст в jQuery

<div class="passd"></div> 

    $('.passd').live("mouseover", function(){ 
    if($(this).children('#passopt').length==0){ 
    $(this).append('<p id="passopt">appear text</p>'); 
    } 
}); 
$('.passd').live("mouseout", function(){ 
    $(this).children('#passopt').remove(); 
}); 
+0

я получил эту проблему, мы можем добиться того, что вы хотите с помощью какого-то логического значения истины или лжи, но IsNot хорошего подхода, позвольте мне подумайте и вернитесь ... – kobe 2010-12-04 20:51:06

ответ

1

вы можете использовать MouseLeave событие вместо ...

http://api.jquery.com/mouseleave/

+0

+1 для вас дал soloution, но вы бы тоже дали код, так что людям это нравится. – kobe 2010-12-04 21:00:58

+0

gotcha - спасибо за подсказку - новичок в этой доске – momo 2010-12-04 21:35:22

0

Заканчивать http://flowplayer.org/tools/tooltip/index.html, чтобы увидеть, если он может сделать то, что вы хотите ...

+0

проблема у него есть mouseover текста обрабатывается как mouseout div, поэтому его скрытие текста, мы можем использовать плагин, но мы должны увидеть, как исправить его проблему. – kobe 2010-12-04 20:50:32

2

Попробуйте это :

$('.passd') 
    .live("mouseenter", function() { 
     $(this).append('<p id="passopt">appear text</p>'); 
    }) 
    .live("mouseleave", function() { 
     $(this).children('#passopt').remove(); 
    }); 

Испытано и работает: http://jsfiddle.net/xLzdP/

0

Вы могли бы достичь точно так же с помощью .hover():

$('.passd').hover(function() { 
     $(this).append('<p id="passopt">appear text</p>'); 
}, function(){ 
     $(this).children('#passopt').remove(); 
    }); 
Смежные вопросы