2012-09-17 27 views
1

我是新來的這個地方,但已經在谷歌和這裏搜索答案,但我沒有找到一個單一的答案,幫助我(即使這個問題被問到很多倍!)。如何在每個頁面上啓動Javascript(jQuery Mobile)

所以我的問題是,我一直在做一個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文件的一個例子。我只能用這個腳本在我推出的第一頁,但不是在所有頁面上:/

我希望你明白我想要什麼,我的英語不是最好的:)

+0

您是如何嘗試將JavaScript代碼放入您的DIV中的?你能舉一個例子嗎? –

+0

''當我在頁面1「test1」,第2頁「test2」和第3頁「test3」的每個頁面上放置該頁面時,我可以在控制檯中看到在頁面上更改我來自的頁面的事件也將是triggert,但是當我回到頁面我來自日誌不會是triggert。我只是不明白爲什麼:) – Schnebdreleg

+0

你回到什麼意思?你的意思是你使用瀏覽器的後退按鈕,或者點擊鏈接重新加載頁面? –

回答

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> 

在BODY(頁面DIV)的每個JQM頁的(在底部的任何位置,就像在頁腳等):

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

另外,如果你把這個變成你的頭,你會告訴jQuery來執行這個腳本每頁變化一次:

$(document).bind("pageshow", function(event, ui){ 
    console.log('A page has changed!'); 
} 
相關問題