jQuery live()悬停,显示/隐藏div的奇怪行为

时间:2010-11-26 05:31:31

标签: hover jquery slidetoggle

我在这里创建了一个问题的例子:

http://jsfiddle.net/jXLSW/

请注意,当您将鼠标悬停在图像上时,div会显示在图像的顶部。当你离开图像时,它会消失。问题是当你将鼠标移到顶部的div上时。它会进入此显示/隐藏周期,因为鼠标正在进入/离开。

显示在顶部的div将包含充当工具栏的图标。当我将鼠标悬停在工具栏上时,如何才能看到工具栏?更重要的是,如何让悬停事件停止骑行?

更新:有趣的是以下代码可以按需运行。问题在于,通常情况下似乎存在生活问题,实际上并没有启动。因此,没有div出现,这也是一个主要问题。

$('.has-menu').livequery(function() {
  $(this).hover(function() {$(this).find('div.img-menu').slideToggle();}, function() {$(this).find('div.img-menu').slideToggle();});
});

1 个答案:

答案 0 :(得分:1)

好吧,我把代码更改为:

$('.has-menu').live('hover', function(e) {
    if (e.type == 'mouseover') {
        $(this).find('div.img-menu').slideToggle();
    }else{
        $(this).find('div.img-menu').slideToggle();  
    }
});

现在一切都很顺利。

相关问题