2013-07-13 23 views
1

我的項目有以下.js文件。這是運行在一個普通的瀏覽器,使用jQuery 1.9.x和jquerymobile 1.3.1。當頁面加載並且UI未更新時,下面的init函數似乎正在運行。 雖然...可以功能複製到控制檯,並運行它,用戶界面更新,因爲它應該,所以這的不正確的文件路徑,或不正確的ID的情況下用戶界面元素,但我懷疑時機。在這種情況下,我也沒有使用科爾多瓦或電話缺口。用戶界面不在'pageinit'上更新,可能是時間問題

所以,我的問題是,爲什麼在調用$(document).bind('pageinit', ...)函數時UI不更新?如果我在init方法中放置了一個斷點,它將在頁面加載時被調用。有關使用不同事件或方法的任何建議?

var simulator = simulator || {}; 

(function (feedback, $, undefined) { 'use-strict'; 
    feedback.init = function() { 
     $.get('feedback-config.xml', function (data) { 
      $('#feedback-to').val($(data).find('email').text()); 
      $('#feedback-subject').val($(data).find('emailSubject').text()); 
      $('#feedback-display').html($(data).find('message').text()); 
      $('#feedback-form').attr('action', $(data).find('serverurl').text()).ajaxForm({success: function() { 
       alert("Thank you for your feedback!"); 
      }, error: function() { 
       alert("We're having difficulties sending your feedback, sorry for the inconvenience."); 
      }}); 
     }); 
    }; 
}(simulator.feedback = simulator.feedback || {}, jQuery)); 

$(document).bind('pageinit', function() { 'use strict'; 
    simulator.feedback.init; 
}); 

在此先感謝。

+0

嘗試'pageshow'或'pagebeforeshow'。 – Omar

+0

沒有幫助。也許這不是一個時間問題,但它會是什麼? – SnareChops

回答

0

發現它,簡單的錯誤...在'pageinit'函數中,我打電話simulator.feedback.init;而不是simulator.feedback.init();不知道爲什麼JSLint最初沒有選擇它,但是當我稍後再試時它指出了它。謝謝。