我有一個Phonegap & jQuery Mobile應用程序可以在Android和web上很好地工作。在iOS上,我得到了意想不到的結果,這似乎是由於我將綁定大多數應用程序進程的處理程序的document.pageinit事件觸發兩次而造成的。文檔pageinit在iOS(jQueryMobile)上不止一次觸發
不,我沒有綁定兩次。不,我沒有使用document.ready。是的,我早在腳本中將它綁定到了文檔中,而不是在任何其他函數中。
$(document).on('pageinit',function(event){
alert(' Pageinit on document');
//Some more code
})
第一次啓動時,啓動畫面仍然顯示。此時,在使用XCode測試MacBook Pro時,控制檯甚至無法使用:當我使用console.log時,以上消息未顯示在控制檯中。
第二次,jQueryMobile創建第一頁後不久就引發了火災。
是什麼導致了這種雙重射擊,我能做些什麼呢?
編輯:我後來發現,pageinit不只是第二次啓動,但每次我打開一個新的數據角色='頁'div。請參閱下面的答案。
Thaaaaank你!我在最後幾分鐘尋找解決方案,谷歌沒有提供任何關於「pageinit調用兩次」的信息,您的'.one()'是理想的解決方案。如果可以的話,我會加倍努力:) – PiotrK
有些令人驚訝的是,在桌面瀏覽器(IE10和Chrome/Windows)中使用我的應用代碼時,我看到了這種行爲,而不是在iOS中。這個建議的修復也幫助了這些情況。偉大的建議。謝謝! –