2012-04-25 4 views
0

pagecreate 초기화 이벤트를 사용하여 AJAX 호출로 목록을 채우는 함수를 호출합니다.Jquery Mobile pagecreate 함수가 완료되지 않음

내가 가진 문제는이 이벤트가 완료되지 않는다는 것입니다. 페이지로드 메시지가 계속 표시됩니다.

여기와 Jquery 포럼에서 행운없이 검색했습니다.

$("#events").live('pagecreate', function(event) { 
    // Executed once the page is loaded 
    var fromDate = new Date(), 
     toDate = new Date(fromDate.getFullYear(), fromDate.getMonth() + 3, fromDate.getDate()); 
    update(fromDate, toDate); 
    //alert('done'); 
}); 


function update(from, to) { 

    var eventList = $('ul#event-list'); 

    $.ajax({ 
     url: 'events.php', 
     dataType: 'json', 
     data: {from: from, to: to}, 
     success: function(data) { 
     showEvents(data, from, to, eventList); // Create list items and append to eventList 
     $('.value h2').formatCurrency({ negativeFormat: "-%s%n" }); // Format currency correctly using jQuery plugin 
     } 
    }); 
} 

은 내가이 AJAX 호출의 완료와 함께 할 수있는 뭔가가 나에게 제안 오류 "a.Deferred는 함수가 아닙니다"얻을 수 있지만, I :

내 코드는 다음과 같습니다 그리고 showEvents 함수가 목록 항목을 올바르게 작성하고 있으므로 매달리지 않습니다.

this을 읽은 후에는 대체 초기화 이벤트 인 pageinit 및 changePage를 성공하지 못했습니다.

도움 주셔서 감사합니다.

p.s. 도움이 될 경우 해당 경고()의 주석을 제거하면 문제를 해결하지 않고 업데이트 된 목록을 올바르게 다시 포맷 할 수 있습니다. 나는 분명히 무슨 일이 일어나고 있는지 이해하지 못하기 때문에 언급 할 것입니다.

+0

평균 페이지 작성 기능이 작동하지 않습니다. – Warewolf

+0

아니요, 기능이 완료됩니다. 문제는 페이지 로딩 메시지가 절대 제거되지 않아 페이지 렌더링이 완료되지 않는다는 것입니다. – Justin

+0

이 해결 - 나는 JQuery와의 이전 버전을 사용하고 있었다 발견 (1.4.1) - 꺼리의 버전 번호를 지방 손가락. [Deferred objects] (http://api.jquery.com/category/deferred-object/)는 v1.5에서만 소개되었습니다. – Justin

답변

0

유 프로젝트는 다음 mobileinit를 사용하여로드 될 때 한 번만 에게 코드를 실행하십시오. 페이지의 모든보기에 대한 의 pageshow 먼저 시간 pagecreate 때 프로젝트에서 pagecreate.

+0

감사합니다 kumar 왕자, 나는 페이지 쇼로 전환을 시도했지만 차이를 만들지 않았습니다. 그러나이 문제는 두 번째 및 세 번째 페이지로드에서 발생하는 것이 아니기 때문에 그리 놀랄 일도 아닙니다. – Justin

관련 문제