特别申明:本系列教程由小春撰写
本文我们来认识一下jQuery Mobile的一些属性
(注释:下面示例中的代码片段均来自1.1.0版本)
首先解释一下在jquery mobile里面的每一个view或者page的概念:
如何定义一个页面容器呢?
从前面的教程里面,你应该看过下面的代码:
//一个单独的page <div data-role="page"></div> //多个page <div data-role="page" id="home-page"> </div> <div data-role="page" id="copyright-page"> </div>
其实page的配置方式很简单,但是我们下面看看源码:
//#7470 var $pages = $(":jqmData(role='page'),:jqmData(role='dialog')"); if(!$pages.length){ $pages = $("body").wrapInner("<div data-"+ $.mobile.ns + "role='page'></div>").children(0); }
说明:
1、其实data-role="dialog"的对于jquery mobile体系来讲也是算一个page 大家看了前面的dialog的例子,发现它不是我们一般认为的一个传统的浮层
2、如何页面中没有定义page和dialog,体系会默认加一个 当然这种状况很少见
说了那么多,我们来看一下到底哪3个属性还是比较重要的!
1、$.mobile.pageContainer
返回的是:存放page的容器,在体系中其实是body
源码部分:
//#7488行 $.mobile.pageContainer = $pages.first().parent().addClass("ui-mobile-viewport");
2、$.mobile.firstPage
返回的是:第一个page
源码部分:
//#7488行 $.mobile.firstPage = $pages.first();
3、$.mobile.activePage
返回的是:当前处于可见的page或者dialog
源码部分:
//#3385行 $.mobile.activePage = toPage;
PS:
1、有问题欢迎在官网留言或者直接联系我:@zhangyaochun_fe
2、可以在官网的问答频道进行提问,我们会尽快回复
3、谢谢您对w3cplus的jquery mobile系列教程的关注
关于小春
专注于前端开发,对ECMA底层有深入探究和兴趣…热衷新技术深入调研学习,涉足移动前端许久,爱好分享交流…个人博客focus-fe。欢迎随时关注我:新浪微博