使用jquery mobile首次加载页面后,事件无法正常工作

时间:2012-04-04 09:13:27

标签: android ios jquery-mobile cordova

我使用的是JQM 1.1.0和Cordova 1.5.0。

我有这样的代码

<!DOCTYPE HTML>
<html>
<head>
<title>Index Page</title>

<!-- Adding viewport -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    
<meta name="viewport" content="width=device-width, initial-scale=1">

<!-- Adding Phonegap scripts -->
<script type="text/javascript" charset="utf-8"
src="cordova/cordova-1.5.0.js"></script>

<!-- Adding jQuery mobile and jQuery scripts & CSS -->
<script type="text/javascript" src="jquery/jquery-1.7.1.min.js"></script>
<link rel="stylesheet"
href="jquerymobile/jquery.mobile-1.1.0-rc.1.min.css" />
<script type="text/javascript" src="jquery/jquery.validate.min.js"></script>
<script type="text/javascript"
src="jquerymobile/jquery.mobile-1.1.0-rc.1.min.js"></script>
<link rel="stylesheet" href="css/colors.css">

<script type="text/javascript">

$("#page1").live("pageinit", function(e) {
console.log("pageinit1");
    }

$("#page2").live("pageinit", function(e) {
console.log("pageinit2");
    }
</script>
<body>
<div data-role="page" id="page1">
  <div data-role="header">Page 1</div>
  <div data-role="content"></div>
</div>

<div data-role="page" id="page2">
  <div data-role="header">Page 2</div>
  <div data-role="content"></div>
</div>
</body>

此代码适用于Android。但在iOS中,一旦页面加载,page1的pageinit事件就不会被触发,如果我将页面更改为page2,那么一切都很好..为什么会发生这种情况?

2 个答案:

答案 0 :(得分:1)

我不太确定,但据我所知,JQ1.7.x中的实时功能发生了变化,现在你必须使用on()函数,它对代码编码方式的改动很小..

答案 1 :(得分:0)

我只需要在data-role =“page”之后编写我的javaScript函数,以使其正常工作......