【问题标题】:Event bubbling with jQuery's mouseout, prematurely hiding事件冒泡与jQuery的mouseout,过早隐藏
【发布时间】:2012-07-26 22:40:38
【问题描述】:

我遇到了一个 jQuery 问题,我不知道出了什么问题。我怀疑这是媒体冒泡的问题,但我不确定。我已将 mouseout 侦听器从 foo、plym-flyout 和 first.. 更改为鼠标进入后立即隐藏。

如果我听一个与菜单分开的课程,它就可以正常工作。另外我不确定某些绝对定位的 CSS 是否与此有关。

有什么想法吗? http://jsfiddle.net/vrCKU/

<ul class="plym-flyout" style="display: none;">
    <ul class="foo">
        <li class="first"><a href="">My Entries</a></li>
        <li><a href="">I'm Watching</a></li>
        <li><a href="">Leaderboard</a></li>
        <li><a href="">My Tickets</a></li>
        <li><a href="">My Account</a></li>
        <li class="last"><a href="">Refer Friends</a></li>
    </ul>
    <ul class="plym-dropShadow"></ul>
</ul>

-- JS--

$(".hdr-user").click(function () {
    $(".plym-flyout").toggle();
});

$(".foo").mouseout(function () {
    $(".plym-flyout").hide();
});

【问题讨论】:

  • jsfiddle 真的适合你吗?我们那里没有你的图片。
  • 它可以复制问题,我忘了提到我没有重新链接图像。

标签: jquery event-bubbling


【解决方案1】:

【讨论】:

  • 哇,完美!,非常感谢 =) 将 mouseleave 侦听器嵌套在点击侦听器中是否有益,所以它只是在被点击后才侦听?或者这对性能没有影响?
  • 该事件仅在 DOM 就绪时绑定一次,因此在这种情况下性能不是问题
猜你喜欢
  • 1970-01-01
  • 2011-10-20
  • 1970-01-01
  • 1970-01-01
  • 2011-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-11
相关资源
最近更新 更多