2013-10-21 3 views
0

jquery 모바일 링크/버튼을 통해 페이지를 다시로드 할 때 내 jquery 모바일 코드가 작동하지 않는 이유를 알 수 없습니다.로드 페이지의 JQuery 모바일 전환

예 번호 :

<!DOCTYPE html> 
<html> 
<head> 
    <title>My Page</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.1/jquery.mobile-1.2.1.min.css" /> 
    <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script> 
    <script src="http://code.jquery.com/mobile/1.2.1/jquery.mobile-1.2.1.min.js"></script> 

</head> 
<body> 

<div data-role="page"> 

    <div data-role="header"> 
     <h1>My Title</h1> 
    </div><!-- /header --> 

    <div id="mydiv">wtf</div> 

    <div data-role="content"> 
     <p>Hello world</p> 
    </div><!-- /content --> 

    <a href='page.html?reload=1' data-role="button" data-theme="a">Again</a> 

</div><!-- /page --> 


<script type="text/javascript"> 

function setmydiv() 
{ 
    console.log('start'); 
    $("#mydiv").html('init'); 
} 

$(document).on('pageinit', function(){ 
    console.log('init'); 
    setmydiv(); 

}); 
</script> 

</body> 
</html> 

페이지로드 (제 1 회) 및 mydiv 영역에 표시 "초기화". I를 누르면 "다시"를 mydiv 텍스트는 여전히

콘솔 로그 ("초기화"로 대체되지 않음) "무슨 일"입니다 : 내가 pageinit보다하지만 성공을 다른 이벤트를 사용하는 것을 시도했다

[00:49:16,081] GET http://www.vetgirig.nu/page.html [HTTP/1.1 200 OK 52ms] 
[00:49:16,686] "init" 
[00:49:16,686] "start" 
-- 
[00:49:34,498] GET http://www.vetgirig.nu/page.html?reload=1 [HTTP/1.1 200 OK 46ms] 
[00:49:34,387] "init" 
[00:49:34,388] "start" 

...

을 나는 교체하는 경우 :

<a href='page.html?reload=1' data-role="button" data-theme="a">Again</a> 

로 :

<input type='submit' data-role="button" value='Again' onClick="location.href = 'page.html?reload=1'"/> 

그런 다음 모든 것이 잘 작동하지만 (전환 - 누르기 버튼 애니메이션은 사라집니다).
내가 누락 된 부분은 무엇입니까? ...?

답변

0

jQuery Mobile은 Ajax를 사용하여 기본적으로 페이지를로드합니다. 대신 올바른 document.ready의이 pageinit있어,하지만 당신은 시도 할 수 :

이유를 추가하여 링크 아약스로드를 비활성화하여 제출 버튼은 Javascript가 말 그대로 페이지를 다시로드하고 Ajax 페이지가로드하지 않는 DOM을 새로 고치는 것입니다.

+0

놀랍습니다. 작동합니다. 많은 감사합니다. – user2904980

+0

그냥 생각 : 내가 진짜로 원하는 건 아약스 완료 후 DOM을 조작 할 수 있습니다. 그게 정말로 불가능한가요, 저에게 기본적인 것 같아요?! – user2904980

관련 문제