2013-10-21 64 views
1

我有一個對話框出現在jQuery Mobile應用程序的「內部」頁面上(即:您從主頁導航到的頁面)。導航通過AJAX完成,因此與data-role="page"的div被加載並動畫。jQuery Mobile對話框不會出現在AJAX請求

問題是,如果我通過標準方式請求內頁,當我通過$.mobile.changePage請求它時,會出現對話框,但是當通過AJAX請求時,對話框根本不會出現。

它位於正確的位置,作爲data-role="page"元素的同胞(而不是孩子),我試過將它包括在各種不同的地方,但是當通過AJAX請求頁面時,它不會顯示負載。

任何想法?下面是打開的對話框代碼:

$('a[data-action="audio"]').on('click', 
    function(e) { 
     e.preventDefault(); 
     $.mobile.changePage('#recording', 
      { 
       transition: 'pop', 
       changeHash: false, 
       role: 'dialog' 
      } 
     ); 
    } 
); 

div[data-role="dialog"]是被通過AJAX請求加載HTML文件的一部分。我也嘗試了神祕的dialog()函數,它自然不會做任何事情:)

任何想法?

+0

通過'$。阿賈克斯()'功能要求。? – Omar

回答

1

雖然我不是100%肯定沒有看到更多的代碼我相信你的.on未被正確綁定。我認爲你的.on目前綁定到一個元素,改變/加載ajax。

請與這個測試:

$(body).on('click', 'a[data-action="audio"]', 

如果這個工程,那麼你應該改變body到未在ajax'd元素