2012-03-28 178 views
4

我有這樣的代碼:jQuery的懸停

<div class"classNameFather"> 
    <div class="className"> 
     <div class="className"> 
      <div.... (unlimited elements) 
     </div> 
    </div> 
</div> 

$('.className').hover(function() { 
    //do hover stuff 
}, function() { 
    //do mouseout stuff 
}); 

$('.classNameFather').hover(function() { 
    //do hover stuff 
}, function() { 
    //do mouseout stuff 
}); 

所以我想要做的是,當我徘徊的最後一個元素或第二或第三個......所有的家長都沒有懸停....

只有第一個元素具有diferent類名,並設有一個兒童沒有限制....

感謝

回答

10

使用event.stopPropagation()到冒泡停止事件..

$('.className').hover(function(e) { 
    e.stopPropagation(); 
    //do hover stuff 
}, function(e) { 
    e.stopPropagation(); 
    //do mouseout stuff 
}); 

$('.classNameFather').hover(function(e) { 
    e.stopPropagation(); 
    //do hover stuff 
}, function(e) { 
    e.stopPropagation(); 
    //do mouseout stuff 
}); 

更新

根據您想要完成的實際效果,您可能需要使用的,而不是.hover()它使用(.mouseenter().mouseleave())的.mouseover().mouseout()方法。

區別在這個演示中可以看到http://jsfiddle.net/gaby/Zse5V/