2009-09-23 62 views
2

我正嘗試使用jQuery代碼構建移動Safari/iPhone網絡應用程序,我已經爲應用程序的桌面版本編寫了代碼。我遇到的問題是,當我的手機進入睡眠狀態並且運行Web應用程序時,當我將其喚醒(幻燈片解開)時,JavaScript事件處理程序不再起作用。在這種情況下,這意味着當我點擊一個通過onclick事件執行AJAX更新的鏈接時,它實際上會通過在新的Safari窗口中打開頁面來鏈接鏈接,從而打破本機iPhone應用程序的外觀。iPhone Web應用程序從睡眠中醒來後,JavaScript事件中斷

$(function() { 
var ajaxLoad; 
var ajaxClick = function(e) { 
    e.preventDefault(); 
    e.stopPropagation(); 
    $("body").load($(this).attr("href"), ajaxLoad); 
} 
ajaxLoad = function() { 
    $(this).find("a").click(ajaxClick); 
} 
$("a").bind("click", ajaxClick); 
}); 

當代碼工作的鏈接將在web應用程序框架中打開,當它打破,代碼將在一個新的Safari瀏覽器窗口中打開,突破的結果:

即停止工作的代碼實際應用的外觀。

+0

如果你會發布一些代碼 - 這可能會有所幫助... – Dror 2009-09-24 06:52:36

+0

根據要求,我添加了jQuery代碼的問題。 – user177843 2009-09-24 12:28:41

+0

你有沒有這個運氣?我遇到類似問題: http://stackoverflow.com/questions/2204438/iphone-jquery-breaks-after-triggering-the-email-overlay – devth 2010-02-05 18:16:24

回答

0

未經測試 - 但它是否有助於將「返回false」添加到ajaxClick函數的末尾,以便鏈接不會激活。