mouseenter上的联合jquery

mouseenter上的联合jquery,jquery,mouseenter,Jquery,Mouseenter,我有一个导航,它有一个下拉子菜单。当下拉菜单出现时,我希望菜单+下拉菜单的组合如下: 因此,如果鼠标以粉红色退出整个块,则子导航将消失。当前,如果鼠标仅退出下拉列表,则下拉列表将消失。 我看到了,但是把全班同学结合在一起对我来说不起作用 下面是为什么不从mouseenter和mouseleave的目标中删除子类呢?比如: 。。。as.myClass覆盖区域已经是菜单和下拉菜单的联合体(因为相应的元素包括链接和下拉菜单) 我在这里修复了另一个潜在的错误:mouseleave mouseenter

我有一个导航,它有一个下拉子菜单。当下拉菜单出现时,我希望菜单+下拉菜单的组合如下:

因此,如果鼠标以粉红色退出整个块,则子导航将消失。当前,如果鼠标仅退出下拉列表,则下拉列表将消失。 我看到了,但是把全班同学结合在一起对我来说不起作用


下面是为什么不从
mouseenter
mouseleave
的目标中删除子类呢?比如:

。。。as
.myClass
覆盖区域已经是菜单和下拉菜单的联合体(因为相应的元素包括链接和下拉菜单)


我在这里修复了另一个潜在的错误:mouseleave mouseenter事件的顺序可能太快,然后超时函数将启动,即使它不应该启动(因为光标停留在菜单区域)。为了防止出现这种情况,添加了一个附加变量(
animate
);它将超时存储在
mouseleave
处理程序中,并在'mouseenter'处理程序中清除它。

Erm。。。现在到底有什么不起作用?对我来说,当鼠标离开“item0”和“item1”区域时,它都有效。如果将鼠标放在
项目0
上,则会出现下拉列表,然后将鼠标移到下拉列表上,然后返回到
项目0
,下拉列表不应消失当我将mouseOut事件跟踪到控制台时,我看到的第一个问题是,当我将鼠标向上滚动列表并返回到item0时,to元素注册为body,而不是该列表项。强制列表项为块而不是使用实际的块元素(如div)可能有问题。@您是否建议我将标记从
li
更改为
div
?!=。我没有意识到
。myClass
覆盖区域已经是菜单和下拉菜单的结合体
var animate;
$(".myClass").mouseenter(function () {
  clearTimeout(animate);
  $('.myClass').css('background-color','#777');
  $('.mySubClass').css('display','inline');
});
$(".myClass").mouseleave(function() {
  animate = setTimeout(function(){
    $('.myClass .mySubClass').css('display','none');
    $('.myClass').css('background-color','#49616a');
  }, 800);
});​