2012-05-25 54 views
2

我有一個多頁jQuery文檔。所有的工作都很順利,除了每隔一段時間,在頁面之間導航時,頁面將簡單地顯示爲白色屏幕。頁腳和標題將顯示,但兩者之間沒有任何內容。jQuery Mobile登錄所有事件,修復空白頁面

我的猜測是某個特定的事件導致了錯誤,或者至少將我指向了正確的方向。如何讓jQuery寫出每一個事件,因爲它發生在瀏覽器console.log中?

回答

1

jQuery Mobile沒有內置開關來啓用對所有JQM事件的調試。該網站建議使用未經壓縮的腳本進行調試,但這並不能讓控制檯中的所有內容都記錄在案。

它可能有助於綁定到頁面上的每個事件或至少$.mobile.base對象。看看這個職位如何做到這一點: How can I bind all events on a DOM element?

2

我四處尋找相似,找到在此之前幾乎推出了自己的東西:

http://view.jquerymobile.com/master/tools/

基本上,一個可以使用頁面事件記錄器小書籤動態地將this script注入到DOM中,並將事件記錄到標準console.log中。如果您想查看所有事件(如「mobileinit」),請將該腳本包含在您的頁面中。我做這樣的事情通常是:

{% if debug %} 
    <script src="http://view.jquerymobile.com/master/tools/log-page-events.js"></script> 
    <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.js"></script> 
{% else %} 
    <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script> 
{% endif %} 

值得一提的是,並非所有的事件記錄(例如orientationchange),但大部分的事件是。這節省了我相當多的時間來調試和理解框架。

+0

+1 Thanks Freddie – Jack