Jquery mobile 在版本1.7.1中正确使用jQuery Mobile事件处理
我对jQuery移动事件束手无策。我不理解它们,尽管我遵循文档到T。我正在使用以下代码初始化我的页面。问题是,有些页面似乎会多次启动,有时当我返回到某个页面时,什么都不会出现,就好像live pageinit根本不会启动一样。我很困惑。pageinit是正确的选择吗?现场直播是最佳实践吗?我是否需要清理自己,然后使用pagehide之类的工具从DOM中删除内容?请帮我理解。谢谢Jquery mobile 在版本1.7.1中正确使用jQuery Mobile事件处理,jquery-mobile,Jquery Mobile,我对jQuery移动事件束手无策。我不理解它们,尽管我遵循文档到T。我正在使用以下代码初始化我的页面。问题是,有些页面似乎会多次启动,有时当我返回到某个页面时,什么都不会出现,就好像live pageinit根本不会启动一样。我很困惑。pageinit是正确的选择吗?现场直播是最佳实践吗?我是否需要清理自己,然后使用pagehide之类的工具从DOM中删除内容?请帮我理解。谢谢 // page number 1 <header> includes and stuff <h
// page number 1
<header>
includes and stuff
<header>
<body>
<div data-role="page" data-theme="a" id="dashboardPage">
$('#dashboardPage').live('pageinit',function() {
});
// somewhere in here a page transition to anotherPage.html (not necessarily the id of the new page in the <div data-role-"page data-theme...> declaration
$.mobile.changePage("anotherPage.html",{transition : "slide"});
</div>
</body>
// page number 2
<header>
includes and stuff
<header>
<body>
<div data-role="page" data-theme="a" id="specialsPage">
$('#specialsPage').live('pageinit',function() {
});
</div>
</body>
//第1页
包括
$('#dashboardPage').live('pageinit',function(){
});
//在这里的某个地方,页面转换为另一个page.html(不一定是中新页面的id),您可以尝试以下操作:
<html>
<header>
<!-- BASIC INCLUDES -->
<link rel="stylesheet" href="./css/jquery.structure-1.1.0.min.css" />
<link rel="stylesheet" href="./css/jquery.mobile-1.1.0.min.css" />
<link rel="stylesheet" href="./css/jquery.mobile.theme-1.1.0.min.css" />
<script type="text/javascript" src="./js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="./js/jquery.mobile-1.1.0.min.js"></script>
<!-- END - BASIC INCLUDES -->
</header>
<body>
<!-- PAGE 1 -->
<div data-role="page" data-theme="a" id="dashboardPage">
<script>
// INITIALIGE PAGE 1 - dashboardPage
$("#dashboardPage").live('pageinit',function(event){
alert( '"initializing" page 1: dashboardPage');
});
</script>
HERE YOU ARE AT PAGE 1 (dashboardPage)!!!<br><br>
<a href="#specialsPage" data-transition="pop">CLICK HERE TO GO TO PAGE 2 (specialsPage)</a>
</div>
<!-- PAGE 2 -->
<div data-role="page" data-theme="a" id="specialsPage">
<script>
// INITIALIGE PAGE 2 - specialsPage
$("#specialsPage").live('pageinit',function(event){
alert( '"initializing" page 2: specialsPage');
});
</script>
HERE YOU ARE AT PAGE 2 (specialsPage)!!!<br><br>
<a href="#dashboardPage" data-transition="slide">CLICK HERE TO GO TO PAGE 1 (dashboardPage)</a>
</div>
</body>
</html>
//初始值第1页-仪表板页
$(“#dashboardPage”).live('pageinit',函数(事件){
警报(“正在初始化”第1页:仪表板页);
});
这里是第1页(仪表板页)!!!
//初始值第2页-专用页
$(“#SpecialPage”).live('pageinit',函数(事件){
警报(“‘初始化’第2页:特殊页面”);
});
这里是第2页(特别页面)!!!
希望有帮助。您可以尝试以下方法:
<html>
<header>
<!-- BASIC INCLUDES -->
<link rel="stylesheet" href="./css/jquery.structure-1.1.0.min.css" />
<link rel="stylesheet" href="./css/jquery.mobile-1.1.0.min.css" />
<link rel="stylesheet" href="./css/jquery.mobile.theme-1.1.0.min.css" />
<script type="text/javascript" src="./js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="./js/jquery.mobile-1.1.0.min.js"></script>
<!-- END - BASIC INCLUDES -->
</header>
<body>
<!-- PAGE 1 -->
<div data-role="page" data-theme="a" id="dashboardPage">
<script>
// INITIALIGE PAGE 1 - dashboardPage
$("#dashboardPage").live('pageinit',function(event){
alert( '"initializing" page 1: dashboardPage');
});
</script>
HERE YOU ARE AT PAGE 1 (dashboardPage)!!!<br><br>
<a href="#specialsPage" data-transition="pop">CLICK HERE TO GO TO PAGE 2 (specialsPage)</a>
</div>
<!-- PAGE 2 -->
<div data-role="page" data-theme="a" id="specialsPage">
<script>
// INITIALIGE PAGE 2 - specialsPage
$("#specialsPage").live('pageinit',function(event){
alert( '"initializing" page 2: specialsPage');
});
</script>
HERE YOU ARE AT PAGE 2 (specialsPage)!!!<br><br>
<a href="#dashboardPage" data-transition="slide">CLICK HERE TO GO TO PAGE 1 (dashboardPage)</a>
</div>
</body>
</html>
//初始值第1页-仪表板页
$(“#dashboardPage”).live('pageinit',函数(事件){
警报(“正在初始化”第1页:仪表板页);
});
这里是第1页(仪表板页)!!!
//初始值第2页-专用页
$(“#SpecialPage”).live('pageinit',函数(事件){
警报(“‘初始化’第2页:特殊页面”);
});
这里是第2页(特别页面)!!!
希望有帮助。
< P>当使用jQuery Mobile时,你应该考虑你有一个内容动态更新的页面。你不会像平常那样从一个页面导航到另一个页面。
因此,使用JQM导航到的页面中存在的任何代码都将被忽略(tyr更改第2页的标题,并使用changepage从第1页导航到此页面,您将看不到任何差异)。
因此,所有js代码都应该直接在用户将到达的页面中可用
如果在第1页的脚本中添加以下代码,则在加载changepage时,您将首先检测到第2页的初始化
$("#specialsPage").live('pageinit',function(event){
alert( '"initializing" page 2: specialsPage');
});
需要记住的一件重要事情是,您的用户也可以直接访问您的page2,这意味着所有代码也应可用于page2。因此,我强烈建议将所有代码包含在所有页面标题中引用的js文件中,而不是直接包含在页面内的脚本标记中。ING jQuery Mobile你应该考虑你有一个动态更新内容的页面,你不会像平常那样从一个页面导航到另一个页面。
因此,使用JQM导航到的页面中存在的任何代码都将被忽略(tyr更改第2页的标题,并使用changepage从第1页导航到此页面,您将看不到任何差异)。
因此,所有js代码都应该直接在用户将到达的页面中可用
如果在第1页的脚本中添加以下代码,则在加载changepage时,您将首先检测到第2页的初始化
$("#specialsPage").live('pageinit',function(event){
alert( '"initializing" page 2: specialsPage');
});
需要记住的一件重要事情是,您的用户也可以直接访问您的page2,这意味着所有代码也应可用于page2。因此,我强烈建议将您的所有代码包含在所有页面标题中引用的js文件中,而不是直接包含在页面内的脚本标记中。是否为文件创建通用包含?我可以将所有javascript包含和css包含放在其中吗?可能不是,对…您可以在第一页的页眉中包含指向css和js文件的所有链接。从那里通过jquerymobile导航的任何页面都将从中受益。检查te结尾回答:所有文件都应被引用在所有页面的标题中,用户可能会直接指向如何对文件进行通用包含?我可以将所有javascript包含和css包含放在其中吗?可能不会,对……您可以在第一个页面的标题中包含指向css和js文件的所有链接。从那里通过jquerymobile导航的任何页面都将检查te的结尾回答:所有文件都应该在用户可以直接访问的所有页面的标题中引用