1

我是这个地方的新手,但已经在谷歌和这里搜索过答案,但我没有找到一个对我有帮助的答案(尽管这个问题被问了很多次!)。

所以我的问题是,我一直在制作一个 jquery 移动页面,我想稍后将其用作应用程序。我使用 3 个不同的页面(index.html、page2.html、page3.html),每次在导航中单击这些页面时,我都想触发一些 javascript。

我发现了很多关于这个问题的帖子,但其中大多数都有点旧(~2011)而且我发现的解决方案不起作用。

这是我已经尝试过的:

    <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="js/js.js"></script>
<script src="js/moment.js"></script>
<script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>

是我使用的每一页的头部。在 jquery mobile 的文档中,您必须在要执行的 jquery 和 jquery mobile 之间插入脚本(js.js 是我的自定义 js)。这个脚本只适用于第一页,但我需要它在每一页上运行,因为当某些事件发生时我会在每一页上交换文本。

之后,我尝试将我的代码放在 div data-role="page" 中,以便每次都会执行它,但这也不起作用。当我只是在其中放入一些 console.log() 时(在 $(document).bind("pageinit", function(){ 之间),帖子不会在每次 pagechange 时触发,但是当我返回时会以²方式触发到原始页面(5 次页面更改后,日志消息将在控制台中放置 60 次)。

function packungSpeichern() {

var formPackung = new Object;

formPackung.inhalt = document.getElementById("inhalt").value;
formPackung.date  = moment().format("DD-MM-YYYY");

localStorage.setItem( "formPackung", JSON.stringify(formPackung) );

}

这是我的自定义 js 文件中的一个示例。我只能在我启动的第一页上使用这个脚本,但不能在所有页面上使用:/

我希望你明白我想要什么,我的英语根本不是最好的:)

4

1 回答 1

0

在JQM第一页的HEAD 中:

<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>

每个 JQM 页面的BODY(页面 DIV)中(底部的任何位置,如页脚等):

<div data-role="page"> 
    <div data-role="content">
        <script src="js/js.js"></script>
        <script src="js/moment.js"></script>
     </div>
</div>

或者,如果你把它放到你的 HEAD 中,你会告诉 jQuery 在每次页面更改时执行一次这个脚本:

$(document).bind("pageshow", function( event, ui ){
    console.log('A page has changed!');
}
于 2012-09-17T14:01:26.327 回答