この構造のメニューを作成しようとしています:
<ul id="primary" class="menuOptions">
<li>Item 1</li>
<li>Item 2
<div id="secondary">
<ul class="menuOptions">
<li>subItemOne</li>
<li>subItemTwo</li>
</ul>
</div>
</li>
<li>Item 3</li>
</ul>
私はこのスクリプトでそれをアニメーション化しています:
$j('.menuOptions li').each(function(i){
//applies to all menu options
$j(this)
.bind('mouseover',function() {
$j(this).toggleClass("over");
})
.bind('mouseleave',function() {
$j(this).toggleClass("over");
});
});
マウスがセカンダリ メニュー項目の上を移動すると、プライマリ メニュー項目で toggleClass 関数が呼び出されていることがわかりました。マウスが子から離れるまで mouseleave が呼び出されないことを知っているので、混乱しています。
どうにかしてイベントの伝播を積極的に停止する必要がありますか?
ありがとう!
ティム