【问题标题】:Mouseenter Mouseleave issueMouseenter Mouseleave 问题
【发布时间】:2011-10-10 23:02:06
【问题描述】:

我有以下html

<div class="a-class">
   <img src="image" alt="" />
   <div class="b-class"></div>
</div>

我正在使用

jQuery('.a-class').mouseleave(function() {
     //blah blah
});

问题在于 b-class 的一部分“覆盖”在 a-class 之上 - 所以每次我将鼠标移到 b-class 的覆盖层上时 - 它会触发 mouseleave

我有什么办法可以忽略b-class 吗?想也许:

jQuery('.a-class').not('.b-class').mouseleave(function() {
         //blah blah
    });

但这不起作用?

【问题讨论】:

    标签: javascript mouseover mouseleave mouseenter


    【解决方案1】:

    如果您想将鼠标悬停在图像而不是其下方的 div 上.. 您应该只定位图像而不排除某些内容。

    jQuery('.a-class img').mouseleave(function() {
         //blah blah
    });
    

    编辑:

    对.. 所以,我以前做过类似的事情.. 它实际上是正在进行的项目。

    Mouseleave 是真正解决这个问题的东西。我的项目也有类似的问题,因为我使用的是mouseout,它一直在丢球。

    http://jsfiddle.net/SaPcE/ 这里你应该注意到mouseleave 并没有删除mouseenter 函数但是如果你将mouseleave 更改为mouseout,就会发生这种情况。

    所以..你不应该有问题,我想我说的是。


    因为我认为您可能正在做一些与我和我的朋友项目非常相似的事情,您可能想看看http://photoshopmesta.net/sic/theTest/

    这是主站点http://photoshopmesta.net/sic/

    Sic 甚至可以在商业上免费使用,所以它不应该成为一个大的阻碍。目前在版本(1.2)中,它使用的 fancybox(图像查看器)有一个小 chrome 问题,但它会被修复..(我们不支持 ie6,所以如果你想要的话.. SIC 不是要走的路。它可能在 ie6 中工作.. 有点?但我们真的不知道也不关心。)

    【讨论】:

    • 感谢您的回复。然而问题仍然存在——因为即使我以 img 为目标——b-class 也会覆盖在图像之上。所以只要移动到b-class - 它就会触发鼠标离开?
    • 更新了答案。这有望满足您的需求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多