jQuery:如果我没有mouseleave功能怎么办?

时间:2010-05-31 14:24:25

标签: jquery

我正在将Drupal用于网站,我只能使用jQuery 1.2.7(不是最新版本)。

我想淡入/淡出div元素,我正在使用mouseover / mouseout函数。

但是,这个元素包含一些子元素,当我将鼠标移到它上面时,会触发mouseout函数,因为我正在移动其中一个子元素。

由于我没有mouseleave功能,我该如何解决这个问题?

感谢

更新:

<div id="parent">
  <p> blabla </p>
  <div><a> blabla </a>
  <p> blabla </p>
</div>

2 个答案:

答案 0 :(得分:1)

您可以测试哪个元素是target,并根据该元素的行为进行操作。在下面的示例中,span是锚点的子节点,但是如果跨度是mousovered,则会触发第二个警报。

<a href="#">Blah blah <span>hehehhehe</span></a>​

$("a").mouseover(function(e) {
    if(e.target == this) {
        alert('mouseover is on the anchor, do something special');   
    } else {
        alert('got a ' + e.target.tagName + ' and not a ' + this.tagName);
    }
});​

在此处试试:http://jsfiddle.net/ss2F2/1/

答案 1 :(得分:0)

jQuery(自1.0起)已经有hover事件来处理这个场景。此外,mouseleave自1.0以来一直在jQuery中。