Javascript 下拉菜单和ajax窗口之间的jquery冲突

Javascript 下拉菜单和ajax窗口之间的jquery冲突,javascript,jquery,html,ajax,drop-down-menu,Javascript,Jquery,Html,Ajax,Drop Down Menu,我有一个jquery下拉菜单和一个模式窗口,它是ajax的触发器。当您单击ajax的链接时,问题就出现了,当您关闭它时,下拉列表不再工作。所以,当您不点击ajax时,下拉菜单就起作用了。单击并关闭链接时,下拉菜单不显示下拉菜单 请尝试,源代码如下: codepen.io/riogrande/pen/NxZLaQ 逐步复制: 将鼠标移到最右边的“Lorem”上,会出现一个下拉菜单 退出鼠标悬停并单击标题为“单击此处查看ajax”的链接 单击“X”退出ajax弹出窗口 步骤1不再有效 您可以使用单

我有一个jquery下拉菜单和一个模式窗口,它是ajax的触发器。当您单击ajax的链接时,问题就出现了,当您关闭它时,下拉列表不再工作。所以,当您不点击ajax时,下拉菜单就起作用了。单击并关闭链接时,下拉菜单不显示下拉菜单

请尝试,源代码如下:

codepen.io/riogrande/pen/NxZLaQ
逐步复制:

  • 将鼠标移到最右边的“Lorem”上,会出现一个下拉菜单

  • 退出鼠标悬停并单击标题为“单击此处查看ajax”的链接

  • 单击“X”退出ajax弹出窗口

  • 步骤1不再有效


  • 您可以使用单独的
    fadeIn
    fadeOut
    功能,而不是在悬停时使用单个
    fadeToggle
    ,它将解决以下问题:

    $(".menu-dropdown").hover(
      function(e) {
        if ($(window).width() > 943) {
          $(this).children("ul").stop(true,false).fadeIn(150);
          e.preventDefault();
        }
      },
      function(e) {
        if ($(window).width() > 943) {
          $(this).children("ul").stop(true,false).fadeOut(150);
          e.preventDefault();
        }
      }
    );
    

    代码笔。

    @mkaatman感谢您的编辑,这是必需的!代码笔引用此时产生404错误链接是editet@markschultheissy你是老板,非常感谢你的回答!!!你能给我解释一下,为什么会产生冲突,你是怎么看待这一部分的?对不起,我刚刚看到了你评论中的变化。嗯,我的经验表明,
    fadeToggle
    可能是一个真正的问题,尤其是与
    hover
    结合使用时。作为个人偏好,我从不使用它,即使是在
    单击
    事件中,如果淡入淡出效果出现问题,我会立即首先检查
    淡入淡出切换
    的使用。我可能不应该说“不要用它”,但是,如果你不需要,不要…没问题。再次抱歉。为了理解它是关于什么的,我需要先看看你的确切代码。让我们看看。