2011-02-18 4 views
1

내가 몇 컨트롤러가 JQuery와 - 모바일 앱에 마스터 페이지를 사용하고, 나는 그것이 아약스를 통해로드도 모든 페이지에 초기화 함수에 자바 스크립트 호출을 설정하려면,JqueryMobile 페이지 초기화 함수

그렇게 할 수있는 방법은 거의 없지만 최선의 접근 방법은 무엇이며 페이지가 직접로드되지 않고 ajax를 통해 호출 될 때 $ (document) .ready의 대안이 될 것입니다.

답변

1

jQuery Mobile Docs - Events

$('div').live('pageshow',function(event, ui){ 
    alert('This page was just hidden: '+ ui.prevPage); 
}); 

또는

$(document).bind("pageshow".function(){ 
    // initialize code here 
}); 
+0

감사합니다. 나는 그 예제를 혼란스럽게 생각하고 코드에서 쉼표 대신 또는 점 ("pageshow", function()) '$ (document) .bind "pageshow", function() { // 여기서 코드 초기화 }); ' – Laith

+0

감사합니다. Laith! 나는 그것이 그립다. – takepara

+0

안녕하세요, 저는 JS 코드를 초기화 할 때 몇 가지 문제점에 직면하고 있습니다.하지만 JShow 이벤트를 시도했지만 각 방문시 JS Init 코드가 증가했습니다. 세 번째 방문 페이지에서이 메서드는 네 번 방문 네 번째 방문에 세 번 호출됩니다, 내 질문은 여기에 - http://stackoverflow.com/questions/7724959/asp-net-mvc3-jquery-mobile-pages- ajax-code-binding-using-pageinit-event –

2

takepara의 대답은 정확하지만 ...

당신은 페이지의 콘텐츠를 수정하려면 이전에 결합해야합니다.

beforepagecreate 이벤트를 살펴보십시오. 이 이벤트의 핸들러가 false를 반환하면 JQM 위젯과 스타일이 적용되지 않으므로 수동으로 작업 할 수 있습니다.

+0

감사합니다. 저를 혼란스럽게 만들었습니다. 문제가 언제 나타날지를 이해하려고 했으므로, 항상 조속히 바인딩해야한다고 생각했습니다. – Laith

관련 문제