2012-10-19 7 views
1

내가이 스크립트에 문제가 닫 외부를 클릭 : 클릭이 탭 내부에 발생하는 경우가 또는 화면에서 언어 선택과 탭을 전환 http://jsfiddle.net/bZw83/JQuery와 토글 탭을 밀어

합니다. 지금 내가 붙어, 난 클릭이

$('html').click(function() {...}); 

같은 것을 날기 탭 벗어나면 화면에서 탭을 전환 함수를 작성하려고 해요하지만 난 발사에서 탭의 영역을 배제 할 수 없다 행사. event.stopPropagation()을 사용해 보았지만 목표를 달성 할 수 없었습니다. -/

다른 사람이 알아낼 수 있도록 도와 줄 수 있습니까?

당신에게 대단히 감사합니다

당신은 그것을 경우 #navigation 또는 그 아이를 확인하고 문서에 대한 핸들러를 생성 할 수 있습니다
+0

jquery의 선택자를 사용하려고 시도하지 마십시오 .......이 링크를 사용해보십시오 http://www.w3schools.com/jquery/sel_not.asp –

+0

@raman은 귀하의 의견을 업데이트하고 '사용하지 않음'을 소스 코드로 사용할 수 있습니까? 역 추적? 그렇지 않으면 "* jQuery 선택자 *를 사용하지 마십시오."로 오해 될 수 있습니다. :) – insertusernamehere

답변

4

.

누르라 다음과 같이 http://jsfiddle.net/bZw83/1/

$(document).click(function(e) { 
    $target = $(e.target); 
    var is = $target.is('#navigation'); 
    var isChild = $target.parents('#navigation').length; 

    if(!(is) && !(isChild)) { 
     $('a', $(this)).stop().animate({ 
      'marginLeft': '-44px' 
     }, 200); 
     stato = "chiuso"; 
    } 
}); 
+0

당신은 빠르다. :) – insertusernamehere

+0

마르코 감사합니다! 당신과 많은 많은 감사를드립니다. – Emanuele

+1

@insertusernamehere 내 삶의 이야기, 롤! –

0

는, 당신은 문서의 클릭 이벤트를 처리하여이를 수행 할 수

$(document).click(function(e) { 
    if($(e.target).parents("*").andSelf().is('#navigation')==false) 
    { 
     //your code here 
    } 
}); 
0

같은 것을 할 :

$(document).click(function() { 
    $('a',$(this)).stop().animate({'marginLeft':'-44px'},200); 
    stato="chiuso"; 
}); 

작업 참조 demo

관련 문제