从睡眠中醒来后,iPhone Web应用程序JavaScript事件会中断

时间:2009-09-23 14:31:58

标签: iphone mobile-safari wakeup

我正在尝试使用我已经为该应用程序的桌面版编写的jQuery代码构建一个mobile-safari / iphone web-app。我遇到的问题是,当我的手机在网络应用程序运行时进入睡眠状态时,当我将其唤醒(滑动以解除)时,JavaScript事件处理程序将不再起作用。在这种情况下意味着当我点击用于通过onclick事件执行AJAX更新的链接时,它实际上是通过在新的Safari窗口中打开页面来跟踪链接,从而打破了原生iPhone应用程序的外观。

停止工作的代码:

$(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窗口中打开,打破了实际应用程序的外观。

1 个答案:

答案 0 :(得分:0)

未经测试 - 但是有助于在ajaxClick函数的末尾添加“return false”,以便链接不会激活。