【问题标题】:jQuery mouse leave enter hide showjQuery鼠标离开进入隐藏显示
【发布时间】:2011-11-07 13:44:02
【问题描述】:

下面是我的 jQuery:

$(".notificationfeedlist li").live('mouseleave', function() {
    IF(NOT (MOUSE OVER AN ELEMENT WITH ID INFO))$('#info').hide();
});

这是我应用这个 jQuery 的 HTML:

<div id="info">
    <div class="arrow-right2"></div>
    <div class="arrow-right"></div>
    <div class="scrollerdiv"></div>
</div>

我应该用什么替换IF(NOT (MOUSE OVER AN ELEMENT WITH ID INFO)) 来实现隐藏 ID 为“info”的元素?

【问题讨论】:

  • 为什么投反对票?很公平,这个问题有点简洁,但请记住,并不是每个人的第一语言都是英语。
  • 请包含mouseenter绑定、html和/或jsfiddle的代码

标签: javascript jquery show-hide mouseenter mouseleave


【解决方案1】:
$(".notificationfeedlist li").live('mouseleave',function(e){
    if (e.target.id != "info") {
        $('#info').hide();
    };
});

【讨论】:

  • 为什么它不起作用?它符合您的 OP 中的要求。
  • e.target.id 返回空字符串,所以它总是隐藏它,无论是否在信息中使用鼠标输入
  • 你能把你在第一篇文章中使用的 HTML 贴出来,这样我就可以看到结构了。谢谢。
  • 这似乎只是信息部分,而不是鼠标事件绑定到的 .notificationfeedlist li 元素。
【解决方案2】:

您应该将其更改为 class="info" 然后使用 jQuery .hasClass(); 进行检查

【讨论】:

    【解决方案3】:

    只是想帮忙:您的代码中没有 lis;只是div。那可能是你的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-10
      • 1970-01-01
      • 2013-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多