2012-05-09 2 views
0

페이지를 다른 곳을 클릭하면 div가 숨겨져있는 메뉴를 만들려고합니다. 이것은 파이어 폭스를 제외한 모든 것에 적용됩니다. 파이어 폭스에서 섹션 내 링크 중 하나를 클릭하면 링크로 이동하지 않고 div 만 닫습니다.javascript를 클릭하고 문제 숨기기 firefox

코드 :

$(document).mouseup(function(e){//removes menu when clicked on any other part of page 
    if($(".menuone:visible").length > 0 ){ 
     $('.menuone').hide(); 
    } 
}); 

HTML :

<div class="menuone"> 
<div class="col1"> 
<ul><li>Example link</li></ul> 
</div> 
</div> 

답변

2

당신은 .menuone의 DIV의 호버 상태를 추적 할 수있는 변수를 설정해야합니다.

는 그런 다음 if 문은 다음과 같습니다

if($(".menuone:visible").length > 0 && !menuHover) 

트릭을해야한다고.

은 도움이 :) 희망

편집 :

var menuHover = false; 

$(".menuone").bind('mouseenter mouseleave',function(e){ 
    menuHover = e.type == 'mouseenter'; 
}); 
내가 John Resig's 사이트에서 여기에 언급 된 생각처럼
+0

감사 – meohmy

+0

실제로 변수를 설정하는 함수를 설정 했습니까? – will

+0

닫기 상단의 코딩이 없습니다. – meohmy

0

: 그러나이 지금 작동합니까,이 의지에 대한

var outerPane = $details.find(".details-pane-outer"), 
    didScroll = false; 
$(window).scroll(function() { 
    didScroll = true; 
}); 

setInterval(function() { 
    if (didScroll) { 
     didScroll = false; 
     // Check your page position and then 
     // Load in more results 
    } 
}, 250);