jquery - 每次我在给定元素内移动鼠标时,鼠标悬停和鼠标离开都会触发

标签 jquery mouseenter mouseleave

我正在创建一个网站,您将鼠标悬停在图像上,它会显示一个元素(在本例中是将其高度从 0 扩展到 154 像素)。

jQuery(document).ready(function(){
    jQuery("#dropdown-menu-create .dropimage").mouseover(function(){
        jQuery("#dropdown-menu-create .toggle").animate({height:"154px"},200);
    });
    jQuery("#dropdown-menu-create .dropimage").mouseout(function(){
        jQuery("#dropdown-menu-create .toggle").animate({height:"0"},200);
    });
});

当鼠标进入时,内容会展开,当鼠标离开时,内容会折叠,但每次鼠标在元素内移动时,内容都会重复展开和折叠,直到鼠标离开元素。

我以前从未遇到过这个问题,而且我过去也使用过这些功能,所以我不知道发生了什么。有什么想法吗?

编辑:

jQuery(document).ready(function(){
    jQuery("#dropdown-menu-create .dropimage").mouseenter(function(){
        jQuery("#dropdown-menu-create .toggle").stop(true,true).animate({height:"154px"},200);
    });
    jQuery("#dropdown-menu-create .dropimage").mouseleave(function(){
        jQuery("#dropdown-menu-create .toggle").stop(true,true).animate({height:"0"},200);
    });
});

我现在正在使用上面的代码,但仍然遇到完全相同的问题。我已经尝试了 .stop 函数的所有变体(假,假)(假,真)(真,假)(真,真)。每个问题的出现情况有所不同,但仍然会出现。

最终编辑:

问题是调用该函数后,鼠标移过的内容被不同的内容覆盖了。因此,在任何给定点,鼠标同时进入和离开图像。通过将函数调用移动到不同的元素解决了该问题。

最佳答案

尝试使用.mouseenter事件而不是 .mouseover

我想这样就可以了!

关于jquery - 每次我在给定元素内移动鼠标时,鼠标悬停和鼠标离开都会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10080067/

相关文章:

java - 当我用鼠标点击按钮时如何创建 JLabel

c# - Windows 窗体上的鼠标离开事件

jquery - 如何将 div 元素定位在实际屏幕的中心? (查询)

javascript - jquery ".prop()"在附加到正文之前不起作用

javascript - 在 HTML 中使用 Canvas 时不显示文本

jquery - 如果任何其他 div 使用 jQuery 向下滑动,则 SlideUp 一个 div

javascript - 使用 jQuery 检测第一个焦点/触摸到 HTML 表单字段

javascript - 自定义 "mouseenter"函数未触发

javascript - jQuery - 在 mouseenter 之后保持另一个元素打开

javascript - 为什么悬停和点击并不总是有效?