我在jQuery Mobile中得到以下错误信息:
不能调用未定义的方法'trigger'
在jQuery.mobile.js中的第2836行,如下所示:
mpc.trigger( "beforechangepage" );
我的代码是这样的:
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.mobile.js"></script>
<script type="text/javascript" src="js/app.js"></script>
<title></title>
</head>
<body>
<!-- Application -->
<div data-role="page" id="application" data-theme="f" >
<div data-role="header">
<h1>header</h1>
</div><!-- /header -->
<div data-role="content">
<ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="f">
<li><a href="#" data-icon="arrow-r">test1</a></li>
<li><a href="#" data-icon="arrow-r">test2</a></li>
<li><a href="#" data-icon="arrow-r">test3</a></li>
</ul>
</div><!-- /content -->
<div data-role="footer">
<h1>footer</h1>
</div>
</div><!-- /page -->
<!-- Login -->
<div data-role="page" id="login" data-theme="f">
<div data-role="header">
<h1>header</h1>
</div><!-- /header -->
<div data-role="content">
<ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="f">
<li><a href="#" data-icon="arrow-r">test1</a></li>
<li><a href="#" data-icon="arrow-r">test2</a></li>
<li><a href="#" data-icon="arrow-r">test3</a></li>
</ul>
</div><!-- /content -->
<div data-role="footer">
<h1>footer</h1>
</div><!-- /content -->
</div><!-- /page -->
在app.js中,我有以下代码:
$(document).ready(
function () {
$.mobile.changePage( $('#login') );
})
我得到的只是一个空白的屏幕和我上面提到的错误。
感谢您的帮助。
认为,
我在OS x上测试我的移动站点时遇到了类似的情况。为了解决这个问题,我不得不绑定到pagecreate
事件,而不是仅仅依赖于$(document).ready()
。在我尝试使用$.mobile.changePage()
之前,站点上的其他所有内容都可以在没有绑定pagecreate
的情况下工作。
$().ready(function() {
console.log("Document is ready.");
$('#home').live('pagecreate', function(event) {
DoStuff();
});
});
DoStuff() {
if(!CheckCredentials())
$.mobile.changePage('#login');
else {
// Rest of code...
}
}
他们在他们的文档中明确说明了这一点,我最初没有注意到。