2010-01-28 42 views
2

我有一個錯誤,發生在我使用jQuery設置的特定事件處理程序中,並且代碼只是中斷而沒有顯示任何錯誤。當我用YUI編寫類似的東西時,我會設置YAHOO.util.Event.throwErrors = true;在我的開發中。版本,這是告訴YUI的事件處理程序拋出錯誤。我找不到任何類似的東西,難道只是我瞎了眼,看不到它?jQuery可以從我的事件處理程序中拋出一個錯誤嗎?

謝謝!

下面是一個例子...

<html> 
<head> 
<title>jQuery Events</title> 
</head> 
<script src="https://www.google.com/jsapi"></script> 
<script> 
google.load('jquery', '1.3.2'); 
</script> 
<body> 
<p>click me</p> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("p").click(function() { 
      console.log('How to display an error here similar to the native onclick ?'); 
      qaz; 
      console.log('this line is not executed because of the error, but the error is not reported. Is there a way to have jQuery report those errors ?'); 
     }); 
    }); 
</script> 
</body> 
</html> 
+2

如果我運行這段代碼,兩個事件處理程序都會觸發&'console.log'寫出firebug,然後死在'qaz'上是未定義的......這不是您所期望的嗎? – Alconja 2010-01-28 22:33:25

+0

我想這個例子有點令人困惑,現在我改變了它,所以它更清楚我在找什麼。如果再次運行它,則只會看到一個console.log被寫出,並且沒有錯誤報告。這是我期望jQuery能夠正常工作的方式,但是我想知道是否有辦法使它在qaz上報告錯誤;使調試更容易? – SBUJOLD 2010-01-28 23:41:18

+0

你的意思是Javascript嗎? jQuery不處理語言級錯誤。這是一個函數庫。 – 2011-06-13 14:41:53

回答

1

我敢肯定的jQuery不會爲你吞下錯誤,那麼你絕對應該從你不確定qaz看到的錯誤。

運行您的更新頁面,我仍然可以看到console.log和Firebug中未定義的qaz上的錯誤。打開正常的瀏覽器錯誤控制檯,我也看到了那裏的qaz is not defined (...temp.html - Line: 15)消息。在IE中,我當然會得到"console" is undefined,但這只是表明錯誤也會通過那裏(因爲沒有控制檯)。假設你運行的是完全相同的html/js文件,顯然還有其他一些變量會導致你的問題。

你運行的是什麼版本的Firebug?我在調試javascript &時出現了各種隨機問題,版本1.4.x,但1.5.0似乎更加一致和穩定。

+0

我使用的是Firebug 1.5,但是在閱讀你所說的內容之後,我想我會檢查更新並從FF 3.5.7更新到3.6,並且確信現在出現的錯誤(以及我在第一次看到此問題的實際應用程序中) 我100%確定它不是昨天,所以我的機器上肯定掛了一些東西,而且這不是FF 3.5.7因爲我現在只是在虛擬機上試了一下,我得到了正確的行爲。 我感到困惑,因爲我曾經使用YUI,它會吞噬許多事件處理程序中的錯誤,除非您將其設置爲不這樣做。 謝謝! – SBUJOLD 2010-01-29 14:42:02

相關問題