我正在使用页面导航,为此我正在使用.live pageshow事件,如下所示

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

它提供了我所期望的正确结果,但是如果我想在模板上添加任何javascript文件,我可以这样做吗,这样我就可以对perticulat模板使用其他功能。
我只想在模板上加载带有js的动态模板,而不是索引页上的所有js文件,因为它在某些地方有冲突

最佳答案

简介
这个答案是对评论的回应
“我只想用不同的html页面进行页面导航,包括
不同的js和css文件.
为了理解这个答案,我们来讨论jQuery Mobile是如何工作的。它使用ajax将其他页面加载到DOM中。
第一页正常加载。它的HEADBODY被加载到DOM中,它们在那里等待其他内容。加载第二页时,只有其BODY内容加载到DOM中。
解决
这里有两种解决方案:
解决方案1
在第二页和每一页中,将SCRIPTLINKSTYLE标记移到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移动应用程序的行为将类似于普通的web应用程序。
<a href="#second" class="ui-btn-right" rel="external">Next</a>

官方文件,找一章:Linking without Ajax。不幸的是,移动应用程序将因此丢失页面转换。

08-25 14:49
查看更多