2014-02-07 31 views
2

我正在構建一個使用jQuery Mobile 1.4.0的移動Web應用程序,並且爲了組織目的,我爲每個頁面使用不同的html文件,因爲這將是一個相當大的應用程序。Jquery Mobile - 加載腳本以及頁面(pagecontainershow)

據我所知,該文檔沒有在輔助頁面上使用,因爲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的人。通過HTTP

在此先感謝

+1

將js文件/代碼放入頁面div中,這樣它將被加載而不會關閉Ajax。 – Omar

+0

發佈這個答案而不是評論,我會標記你的答案是正確的。謝謝! – livewire1407

+0

不客氣:) – Omar

回答

1

jQuery Mobile的加載第一頁的通過Ajax 外部頁面的其餘部分。在單頁模型它在<body>中首先加載data-role="page"並忽略data-role="page"以外的其餘元素。

爲了克服這個問題,並且爲了加載不包含在第一頁中的不同庫,您需要將它們放置在任何外部頁面的data-role="page"內。

如果關閉data-ajax="false"關閉頁面,通常會通過HTTP加載頁面。