2012-03-28 10 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 
}); 

に....最初の要素だけを置くバブルアップからのイベントを停止する....

答えて

10

使用event.stopPropagation()

感謝をdiferentクラス名を持ち、子供のための制限はありません。..

$('.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/

関連する問題