2013-05-14 2 views
0

트위터 부트 스트랩을 사용 중이고 활성 탭을 클릭 할 때 활성 탭 컨텐츠를 닫으려고합니다.활성 탭 클릭시 활성 탭 컨텐츠 닫기 - twitter 부트 스트랩

은이 코드를 사용하지만이 작동하지 않습니다 :이 아니라 완벽하게 작동한다

$('#myTab a').click(function (e) { 
    if ($(this).parent('li').hasClass('active')) { 
     $($(this).attr('href')).removeClass('active'); 
     $(this).parent('li').removeClass('active'); 
    } else { 
     e.preventDefault(); 
     $(this).tab('show'); 
    } 
}); 
+0

이의 jQuery 셀렉터를 사용, 그것은 모든 탭 선택기에서 발생해야하는 경우 t는 나에게 이해된다. 당신은 HTML를 게시 할 수 있습니까? – ZimSystem

답변

0

. 나는 bootstrap.js을 편집하고이 하나

 $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { 
    e.preventDefault(); 
     if($(this).parent('li').hasClass('active')){ 

     $($(this).attr('href')).removeClass('active'); 
     $(this).parent('li').removeClass('active'); 
     if ($(this).parent('.dropdown-menu')) { 
       $(this).closest('li.dropdown').removeClass('active') 
      } 
     } 
     else { 
      e.preventDefault(); 
      $(this).tab('show'); 
     } 
     }) 

으로이

$(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { 
    e.preventDefault() 
    $(this).tab('show') 
    }) 

을 대체하지만, 나는 또한 드롭 다운 탭의 하위 메뉴가 활성화 된 경우, 때 그 드롭 탭을 클릭 것을 원하는 클래스 " 활성 "은 해당 드롭 다운 탭에서 제거해야하며 하위 메뉴 탭 콘텐츠입니다.

죄송합니다.

0

이것은 저에게 효과적입니다. 제거 "활성"클래스는 더 나은

$('#myTab a').click(function (e) { 
    if($(this).parent('li').hasClass('active')){ 
    $(this).removeClass('active') 
    $($(this).attr('href')).removeClass('active'); 
    } 
    else { 
    e.preventDefault(); 
    $(this).tab('show'); 
    } 
}); 

당신이있어 http://jsfiddle.net/tekbreak/NQ97h/182/

그것을 확인할 수 있습니다 않지만 이것은 '아무튼

$('a[data-toggle="tab"]').click(... 
관련 문제