Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery mobile预取通过Ajax加载内容的页面_Jquery_Jquery Mobile - Fatal编程技术网

jQuery mobile预取通过Ajax加载内容的页面

jQuery mobile预取通过Ajax加载内容的页面,jquery,jquery-mobile,Jquery,Jquery Mobile,我在单页模板中使用jquerymobile(每个页面都是一个单独的html文件)。我想预取通过Ajax加载内容的页面。我将预取代码放在第一页的Document.ready()函数中 $.mobile.loadPage("my-projects.html", { showLoadMsg: false }); 在我要预取的第二页的Document.ready()函数中调用ajax。当我们预处理该页面时,此ajax调用不会发生。有没有办法做到这一点。请帮助jQuery Mobile内置了预取功能,您

我在单页模板中使用jquerymobile(每个页面都是一个单独的html文件)。我想预取通过Ajax加载内容的页面。我将预取代码放在第一页的Document.ready()函数中

$.mobile.loadPage("my-projects.html", { showLoadMsg: false });

在我要预取的第二页的Document.ready()函数中调用ajax。当我们预处理该页面时,此ajax调用不会发生。有没有办法做到这一点。请帮助

jQuery Mobile内置了预取功能,您只需将
数据预取
属性添加到链接到远程页面的链接:

<a href="prefetchThisPage.html" data-prefetch> ... </a>

我认为您必须使用phonegap事件而不是jQuery移动事件来完成这项工作。由于我使用的每个页面都是一个单独的html文件#我的页面id在这里没有关联。而且“$.mobile.loadPage(“my projects.html”,{showLoadMsg:false}”)也没有问题,它正常启动。问题在于我要预回迁的页面中的ajax调用。预回迁发生时,该调用不会触发。您应该阅读此内容,请注意黄色框:。现在在jquerymobile中,由于默认情况下所有页面都是通过AJAX带入DOM的,因此使用ID绑定到特定页面肯定具有相关性。使用如我在回答中所示的代码,我们可以为特定页面运行特定代码,同时为我们的JS维护一个源代码(您可以将JS放在一个文件中,并将其包含在每个页面的标题中,以便为每个页面做好准备)。你的问题是
文档。准备好了
,不要将其用于jQuery移动站点。它不会像你期望的那样工作。
$(document).delegate('#my-page-id', 'pageinit', function () {
    $.mobile.loadPage("my-projects.html", { showLoadMsg: false });
});