2013-07-13 3 views
1

내 프로젝트에 다음 .js 파일이 있습니다. 이것은 jquery 1.9.x와 jquerymobile 1.3.1을 사용하는 일반 브라우저에서 실행됩니다. 아래의 init 함수는 페이지가로드되고 UI가 업데이트되지 않을 때 실행 중임을 나타냅니다. 가하도록되어 나는이 콘솔에 기능을 복사하여 실행하고 UI 업데이트 할 수 비록 ..., 그래서이의 하지에 대한 잘못된 파일 경로 또는 잘못된 ID의 경우 UI 요소가 있지만 타이밍이 의심 스럽습니다. 이 경우에도 코 도바 또는 전화 간격을 사용하지 않습니다.'pageinit'에서 UI가 업데이트되지 않아 타이밍 문제가 발생했습니다.

내 질문은 왜 UI가 업데이트되지 않습니다. $(document).bind('pageinit', ...) 함수를 호출 할 때입니까? 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가 처음에 그 것을 선택하지 않은 이유를 모르지만 나중에 다시 시도했을 때이를 지적했습니다. 감사.

관련 문제