2012-02-09 85 views
1

看哪:頁腳模板:如何爲所有jQuery Mobile頁面使用模板?

<!-- Templates --> 
<script type="text/template" id="templateFooter"> 
    <div data-role="navbar"> 
     <ul> 
      <li><a href="#about">About</a></li> 
      <li><a href="#contact">Contact</a></li> 
     </ul> 
    </div> 
</script> 

在每一個移動網頁我有:

<div data-role="footer" data-position="fixed">footer</div> 

我目前在加載模板的方法是:

$(function() { 
    $('div[data-role=footer]').html($('#templateFooter').html()); 
    $.mobile.activePage.trigger('create'); 
}); 

這工作,但我真的不喜歡使用$(function(),但我需要加載它,如果任何頁面顯示,所以pageinit或pageshow沒有幫助。我會是我們如果有任何幫助,我們會繼續前進。

有沒有更好的方式來做到這一點?

回答

3
function getTemplateFooter() { 
    //return footer text here 
} 


$("div:jqmData(role='page')").live("pagebeforecreate",function() { 
    // get the footer of the page   
    // if footer doesn't exist on page, insert it where you want it... in this case after role="content"? 
    var $content =$(this).page().find('div:jqmData(role="content")'); 
    $content.after(getTemplateFooter()); 
} 
+0

謝謝!我正在尋找的是:每頁一次運行。引用文檔:_注意,通過綁定到pagebeforecreate,您可以在jQuery Mobile的默認窗口小部件自動初始化之前操作標記。例如,假設你想通過JavaScript而不是HTML源代碼來添加數據屬性,這就是你要使用的事件。 – Tjorriemorrie 2012-02-19 10:56:18

0

也有pageshow事件,一個大火即使用戶導航到該頁面,通過後退按鈕按下等等......它冒泡到頁面的div

我用它的網頁,大量的動態數據可能會在隨後的訪問之間發生變化,或者甚至在用戶剛剛按回時

相關問題