1

我有以下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
    });

但这不起作用?

4

1 回答 1

1

如果你想将鼠标悬停在图像而不是它下面的 div 上。你应该只定位图像而不是排除某些东西。

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

编辑:

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

Mouseleave是真正解决这个问题的东西。我的项目有类似的问题,因为我使用mouseout的是不断掉球。

http://jsfiddle.net/SaPcE/在这里你应该注意到mouseleave没有删除该mouseenter功能但是如果你更改mouseleavemouseout,那将会发生。

所以..你不应该有问题就是我说的我猜。


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

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

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

于 2011-07-22T10:55:33.653 回答