사용자가 성공적으로 로그인 할 때 Ajax 및 json 구문 분석을 통해로드 된 여러 페이지 템플릿 컨텐츠를 동적으로 표시해야하는 jQuery 모바일 앱이 있습니다. 따라서 두 가지 문제가 있습니다.동적으로로드 된 내용보다 jQuery 모바일 스타일이 적용되지 않습니다.
1 1. 동적 컨텐츠 생성을 위해 문서 준비 기능에서 올바른 호출 아약스를 사용합니다.
2. 콘텐츠가 동적으로 생성 될 때 jQuery 모바일 스타일이 전달되지 않습니다.
$('#pageData').page('refresh', true);
그것은 JQuery와 모바일 스타일을 렌더링 할 수있는 요소를 실행해야합니다
여기에 내 코드
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="http://jquerymobile.com/demos/1.3.0-beta.1/css/themes/default/jquery.mobile-1.3.0-beta.1.css" />
<script src="cordova-2.4.0.js"></script>
<script src="js/jquery-1.8.2.min.js"></script>
<script src="js/jquery.mobile-1.3.0.min.js"></script>
<script>
$(document).ready(function() {
$
.ajax({
url : "demourl.com",
type : "GET",
success : function(data) {
var msgData = $.parseJSON(data);
$("<div data-role='page'>").appendTo("#pageData")
.trigger("create");
$("<div data-role='header'>").appendTo("#pageData")
.trigger("create");
$("<h1>Page Title</h1>").appendTo("#pageData")
.trigger("create");
$("<div>").appendTo("#pageData").trigger("create");
$("<div>").appendTo("#pageData").trigger("create");
}
});
});
</script>
<title>Message list</title>
</head>
<body>
<div id="pageData"></div>
</body>
</html>
예제가 작동하지만 아약스에서 데이터를 가져와야합니다. 그런 다음 페이지를 작성했습니다. 이 같은 기능을 사용하고 있다면 –
다른 질문에서 예제를 들었습니다. 또한 아약스 유무에 관계없이 여기서 중요한 문제는 아니며 적어도 하나 이상의 기존 페이지가 없으면 jQuery Mobile 페이지를 생성하고 스타일을 지정할 수 없습니다. 여기 나의 예제는 단지 일시적인 해결책 일 뿐이다. – Gajotres