非表示の div があり、リンクをクリックすると div が表示されます。
<div id="baystar">
<!-- My hidden stuff -->
</div>
<div class="galactica">
<li class="menu-563"><a class="menu-563 active" href="#">Tools</a></li>
</div>
Tools リンクをクリックすると、div.baystar が表示されます。div.baystarを開いた状態で中をクリックしても閉じない。div.baystar 以外の場所をクリックすると、div.baystar が閉じます。すべてがうまくいっています。問題は、[ツール] リンクをクリックして div.baystar を閉じると、すぐに閉じてから再度開くため、2 回起動することです。
$(".menu-563").click(function(){
$("#baystar").slideToggle("fast");
$(this).toggleClass("active"); return false;
});
$('a.menu-563').attr('href', '#'); {
}
var mouse_is_inside = false;
$(document).ready(function()
{
$('#baystar').hover(function(){
mouse_is_inside=true;
}, function(){
mouse_is_inside=false;
});
$("body").mouseup(function(){
if(! mouse_is_inside) $('#baystar').hide();
});
});
マウスホバー機能を外すとうまくいきます。なんらかの遅延が必要ですか、それともコードを書き直す必要があるだけですか?