我在JQuery Mobile网站上初始化事件时遇到了一些问题,我只是想看看我是否正确地进行了这项工作。这是我的代码有点像:
<!DOCTYPE html>
<html>
<head>
<title>My page</title>
<link rel="stylesheet" href="jquery.mobile-1.3.0-beta.1.css" />
<script src="jquery-1.9.0.js"></script>
<script src="jquery.mobile-1.3.0-beta.1.js"></script>
<script text/javascript>
function myFunction()
{
//do some code
}
</script>
</head>
<body>
<div data-role="page" id="home">
<div data-role="header">
<h1>Home</h1>
</div>
<div data-role="content" data-theme="f">
<p><a href="#next-page" data-role="button" data-transition="fade">2nd page</a></p>
</div>
</div>
<div data-role="page" id="next-page">
<div data-role="header">
<h1>2nd page</h1>
</div>
<div data-role="content" data-theme="f">
<script text/javascript>
$("#next-page").on("pageinit", function() {
myFunction();
});
</script>
</div>
</div>
</body>
</html>
出于某种原因,当我加载第二页时,我只是获得了AJAX加载图标,它并没有停止加载。
另一件事是,我不想在加载第二页之前调用myFunction()
,这就是为什么我在第二页内有脚本。
非常感谢任何帮助:)
答案 0 :(得分:1)
Javascript是关键敏感的,如果你调用函数 myfuncion(),则必须存在相同的函数。
在您的情况下,您的函数名称中包含一个大F: myFunction(),因为调用函数myfuncion()不存在浏览器将报告错误,jQuery Mobile将停止执行。
另一方面,这段代码:
$("#next-page").on("pageinit", function() {
});
如果要在第二页初始化期间执行此功能,是可以的。 Jzst一点建议,改为:
$(document).on("pageinit", "#next-page",function() {
});
编辑:
要解决您的问题,请使用pageshow事件替换pageinit事件。 jQuery Mobile在处理其他“图形”框架(地图,轮播)时遇到问题 它们通常只在pageshow事件中起作用。
$(document).on("pageshow", "#next-page",function() {
});