将鼠标悬停在jquery问题中显示文本

时间:2010-12-04 20:45:24

标签: javascript jquery hover mouseevent mouseover

我这里有问题。当我的鼠标悬停在div上时,div中会出现一个文本。当它从div中鼠标输出时,文本将消失。我的问题是,当鼠标在出现的文本上时,它将从div处理它是mouseout,导致文本消失。我该怎么做才能避免这种情况?我希望文本保持只要鼠标在div中,即使它在文本上方。谢谢..

<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();
 });

4 个答案:

答案 0 :(得分:2)

试试这个:

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

经过测试,有效:http://jsfiddle.net/xLzdP/

答案 1 :(得分:1)

你可以改用mouseleave事件......

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

答案 2 :(得分:0)

查看http://flowplayer.org/tools/tooltip/index.html以查看它是否可以执行您想要的操作...

答案 3 :(得分:0)

使用.hover()可以达到同样的效果:

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