2016-07-14 5 views
-2
function() 
{ 
    $('body, .navbar-collapse div[role="search"] button[type="reset"]') 
     .on('click keyup', function (event) { 
      event.preventDefault(); 

      if (event.which == 27 && $('.navbar-collapse div[role="search"]') 
       .hasClass('active') || 
      $(event.currentTarget).attr('type') == 'reset') { 
      closeSearch(); 
          } 
          }); 
        closeSearch(); 

       function closeSearch() { 
     $('#navbar-searchform, #navbar-reset').addClass('hidden'); 
     var $form = $('.navbar-collapse div[role="search"].active') 
     $form.find('input').val(''); 

     $form.removeClass('active'); 
     $('#navbar-search').removeClass('hidden'); 
    } 
     // Show Search if form is not active // event.preventDefault() is important, this prevents the form from submitting 

    $(document).on('click',.navbar-collapse div[role="search"]:not(.active) button[type="submit"]', 

     function (event) { 
      event.preventDefault(); 
      var $form = $(this).closest('div[role="search"]'), 
       $input = $form.find('input'); 
      $form.addClass('active'); 
      $('#navbar-searchform, #navbar-reset') 
      .removeClass('hidden'); $input.focus(); 
      $(this).addClass('hidden'); 

     }); 

이 코드의 잘못된 점을 파악하려고합니다. 이는 검색 양식을 숨기고 검색 버튼을 클릭 한 후에 만 ​​표시되도록하기위한 것입니다. 그것은 효과가 있었지만, 아무 것도 클릭하면 새 탭에서 페이지를 열지 않는 한 페이지가로드되지 않습니다.자바 스크립트 파일의 오류

+0

'$ (문서) CSTE 연구진 ('클릭'네비게이션 바-붕괴 DIV [역할 = "검색"] :.하지 (.active는) 버튼 [유형 = "제출"] ','그 라인은해야 개발자 콘솔에 오류 메시지가 표시 될 수 있습니다. – epascarello

답변

1

개발자 콘솔을 보면 오류 Uncaught SyntaxError: Unexpected token .이 표시됩니다. 선택자 문자열에 ' 개구부가 없어 졌기 때문입니다.

$(document).on('click',.navbar-collapse div[role="search"]:not(.active) button[type="submit"]', 
         ^^^ 
+0

오타로 닫히지 않는 이유는 무엇입니까?이 문제는 메모에 대답되어 있습니다. – mplungjan

+0

저는 의견을 쓴 사람입니다 ... 그리고 오타로 닫았습니다. 나는 대답했다. ... 그리고 지금 나는 논평했다.;) – epascarello

+0

하아. 승인. 내가 참조. – mplungjan