jquery页面导航动态js加载问题

时间:2013-05-14 05:54:48

标签: jquery html5 cordova jquery-mobile jquery-mobile-ajax

我正在使用页面导航,因为我正在使用像这样的.live pageshow事件

$('#watchlist').live('pageshow', function(event) {
        watchList();
    });

它正如我所期望的那样给出正确的结果,但如果我想在该模板上添加任何javascript文件,我可以这样做,以便我可以使用其他功能用于特定模板。

我只是想在模板上加载带有js的动态模板而不是索引页面上的所有js文件becoz它在某处是冲突的

1 个答案:

答案 0 :(得分:1)

简介

这个回答是对评论的回应

  

“我只想要包含不同html页面的页面导航   不同的js和css文件就是它。“。

要理解这个答案,我们可以讨论jQuery Mobile的工作原理。它使用ajax将其他页面加载到 DOM

第一页正常加载。其 HEAD BODY 已加载到 DOM 中,他们在那里等待其他人内容。加载第二页后,只有 BODY 内容会加载到 DOM 中。

解决方案

这里有两个解决方案:

解决方案1 ​​

在您的第二页和其他所有网页中,移动 SCRIPT LINK STYLE < / strong>标记到 BODY 内容中,如下所示:

<body>
    <script>
        // Your javascript will go here
    </script>
    <link rel="stylesheet" href="some.css" />
    // And rest of your HTML content
</body>

这是一个快速的解决方案,但对我来说这是一个难看的解决方案。

解决方案2

在按钮中使用 rel =“external”,以及用于更改页面的每个元素。因为ajax不会用于页面加载,你的jQuery Mobile应用程序将像普通的Web应用程序一样。

<a href="#second" class="ui-btn-right" rel="external">Next</a>

官方文档,查找章节: Linking without Ajax 。不幸的是,移动应用程序会因此失去页面转换。