Jquery Mobile - 加载脚本和页面(pagecontainershow)

时间:2014-02-07 03:30:20

标签: jquery jquery-mobile

我正在使用jQuery Mobile 1.4.0构建一个移动Web应用程序,我为每个页面使用不同的html文件用于组织目的,因为这将是一个相当大的应用程序。

据我所知,该文档未在辅助页面上使用,因为jQuery Mobile中的链接通过AJAX从文件中提取data-role =“page”内的信息,并将其插入到dom中并显示它。我很好。

我想要的是文件中的javascript也能够被利用(我不想使用data-ajax = false并且失去过渡等)。在阅读我认为我可以使用的文档时:

$(document).on('pagecontainershow', function(event, ui) { });

得到我想要的结果。这在第一页上工作正常,但在后续页面上不起作用,除非我在新的选项卡/会话中手动将该URL输入浏览器。所以我试过

$('#pageid').on('pagecontainershow', function(event, ui) { });

认为这可能会成功,希望jQM能够通过使用正确的ID知道将其拉到该页面。但是这根本不起作用。

所以现在我被卡住了。有人可以帮忙吗?我无法想象我是唯一一个不想在主页上保留成千上万行javascript的人。

提前致谢

1 个答案:

答案 0 :(得分:1)

jQuery Mobile通过HTTP加载第一页,其余的外部页面通过Ajax加载。在单页模型中,它会先data-role="page"加载<body>并忽略data-role="page"之外的其他元素。

要解决此问题,并且为了加载第一页中未包含的不同库,您需要将它们放在任何外部页面的data-role="page"内。

如果关闭data-ajax="false" ajax,页面将通过HTTP正常加载。