我正在使用jQuery Mobile,我无法理解经典文档就绪和jQuery Mobile页面事件之间的差异.
真正的区别是什么?
为何要
<!-- language: lang-js -->
$(document).ready() {
});
Run Code Online (Sandbox Code Playgroud)
比...更好
$(document).on('pageinit') {
});
Run Code Online (Sandbox Code Playgroud)当您从一个页面转换到另一个页面时,页面事件的顺序是什么?
如何将数据从一个页面发送到另一个页面,是否可以从上一页访问数据?
在jquery移动页面上初始化对象的正确方法是什么?该事件的文档说,使用" pageInit()"没有该功能的例子,但给的结合实例" pageinit"方法(注意大小写的区别).但是,在这个简单的测试页面中,我根本没有看到事件触发:
<html>
<body>
<script type="text/javascript" charset="utf-8" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8" src="http://code.jquery.com/mobile/1.0b3/jquery.mobile-1.0b3.min.js"></script>
<div data-role="page" id="myPage">
test
</div>
<script>
$("#myPage").live('pageinit',function() {
alert("This never happens");
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我错过了什么?我应该补充说,如果你改变pageinit到另一个事件,像pagecreate这样的代码工作.
----更新----
此错误在JQM问题跟踪器中标记为"已关闭".显然,对于这是否正常工作,意见不一.
我使用$ .mobile.changepage在我的phonegap + jquerymobile项目中进行重定向.然而令我困惑的是,我需要将所有页面的脚本放到同一个文件index.html中.如果没有,重定向页面不能在其标题中执行该功能.
例如,我的index.html似乎是
$(document).bind("deviceready",function(){$.mobile.changepage("test.html");})
然后,我的设备将重定向到test.html,这似乎是
$("#btnTest").click(function(){alert("123");})
<button id="btnTest">Test</button>
Run Code Online (Sandbox Code Playgroud)
但是,该脚本永远不会在test.html中执行.然后我把脚本放到index.html,我期望完成.无论如何,如果我将所有脚本放在同一页面上,项目将变得越来越难以保存.感谢您的帮助.