我正在尝试使用我已经为桌面版应用程序编写的jQuery代码来构建一个mobile-safari/iphone web应用程序。我遇到的问题是,当我的手机在web应用程序运行的情况下进入睡眠状态时,当我唤醒它时(不幸的是),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窗口中打开,打破了实际应用程序的外观。
发布于 2011-03-20 07:57:32
未测试-但是否有助于在ajaxClick函数的末尾添加'return false‘,这样链接就不会激活。
https://stackoverflow.com/questions/1466378
复制相似问题