2009-10-16 4 views
0

다음과 같은 문제로 다소 어려움을 겪었습니다. 솔루션이 너무 명확하지만 더 이상 볼 수 없게되었습니다. 문제, 어떻게 jQuery 코드가 작동 온 :

$(document).ready(function() {  
    var q = $(".box").val();  
    $.get("db.php", {searchterm: "test", type: "search", time: "2pm" }, 
     function(twitter){ 
      var tweets = JSON.parse(twitter); 
     } 
    ); 

하지만 난 그것을 클릭 이벤트의 일부로 만들 경우 그것은 작동하지 않습니다

물론
$(document).ready(function() {  
    $(".btn").click(function() {  
    var q = $(".box").val();  
    $.get("db.php", { searchterm: "test", type: "search", time: "2pm" }, 
     function(twitter){ 
      var tweets = JSON.parse(twitter); 
     } 
    ); 
}); 

, 내 HTML 페이지는이 있나요 버튼 이름이 'btn'인 클래스

Firebug는 jQuery에서 오류 메시지를 깜박이지만 즉시 콘솔을 재설정하므로 로그에서 오류를 읽거나 복사 할 수 없습니다. 어떤 제안?

답변

3

아마도 클릭 처리기에서 return false;이 필요합니까?

$(document).ready(function() { 
    $(".btn").click(function() { 
     var q = $(".box").val(); 
     $.get("db.php", { searchterm: "test", type: "search", time: "2pm" }, function(twitter){ var tweets = JSON.parse(twitter); }); 
     return false; 
    }); 
}); 

이렇게하면 링크의 기본 동작 (예 : URL 탐색)이 차단됩니다.

+0

또는 preventDefault();를 사용하십시오. –

+0

그렉은 버그를 알지 못해 해결책을 제공했습니다 :) –

+0

고마워요! 나는이 잘못된 개념을 연구 할 필요가있다 :) – DrDee

0

하는 당신은 폐쇄 });

$(document).ready(function() {  
    $(".btn").click(function() {  
     var q = $(".box").val();  
     $.get("db.php", {searchterm: "test", type: "search", time: "2pm"}, function(twitter){ 
      var tweets = JSON.parse(twitter); 
     }); 
     return false; 
    }); 
}); 

반환이 거짓에게 실종 된 것도 좋은 선택 (신용 @Greg)입니다. cballou @

0

귀하의 질문에 대답,하지만 BTW, 방화범이 오류를 플래시 후 빈 간다하더라도, 당신은 파이어 폭스의 기본 오류 콘솔 (Ctrl 키 + 시프트 + J 또는 도구> 오류 콘솔을 열어 오류를 검색 할 수 있습니다).

+0

잘 알다시피, 감사합니다. – Tom

+0

누락}}) : 오타가 있었고 false로 반환하면 문제가 해결되었습니다. – DrDee

+0

아 맞습니다. 'return false; '는 해당 이벤트의 기본 처리기로 전달되는 이벤트를 방지합니다. 앵커 링크에서 기본 동작은 페이지를 링크 된 URL로 리디렉션하는 것입니다. – Premasagar