2009-10-16 53 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); 
     } 
    ); 

,但如果我让一个click事件的一部分,那么它将无法工作:

$(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”

萤火虫按钮闪烁内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();' – 2009-10-16 15:34:25

+0

格雷格没有注意到这个错误:) – 2009-10-16 15:43:05

+0

非常感谢提供的解决方案!我需要研究这个返回假概念:) – DrDee 2009-10-16 15:47:12

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; 
    }); 
}); 

返回假的也是一个不错的选择(@格雷格信用)。

0

@ cballou真实回答你的问题,但顺便说一句,即使Firebug的推移闪烁了一个错误之后的空白,你可以通过打开Firefox的默认错误控制台(按Ctrl + Shift + J工具>错误控制台检索错误)。

+0

很高兴知道,谢谢。 – Tom 2009-10-16 15:57:27

+0

缺少}):是一个错字,返回假固定的问题 – DrDee 2009-10-16 17:20:03

+0

是啊。 'return false;'防止事件被传递给该事件的默认处理程序 - 例如在锚链接上,默认操作是将页面重定向到链接的URL。 – Premasagar 2009-10-16 20:03:13