jQM中文手册:jQuery Mobile Ajax开发

 

http://mobile.51cto.com/web-321959_1.htm

jQM中文手册:jQuery Mobile Ajax开发

jQuery Mobile在加载的时候会自动的初始化默认配置项,这样我们就不需要为了学习和配置这些参数花费很多的时间了,大大的提高了开发效率。

AD: 51CTO云计算架构师峰会 抢票进行中!

 

有些时候因为项目的需要我们还是需要对这些参数进行自定义的。在学习jM的初始化参数之前,我们需要先来了解mobileinit事件。

Mobileinit事件

jQuery Mobile的加载事件和普通的jQuery插件有所不同,它会在document.ready事件之前执行。因此我们在需要对jQuery Mobile的默认运行参数进行调整的时候就需要在document.ready事件之前来对这些参数进行设置,jM为我们提供了mobileinit事件来处理加载之前需要执行的代码。

例如:

   
  1. $(document).bind("mobileinit", function(){ 
  2. //apply overrides her 
  3. }); 

 

初始化配置项的两种方法

方法一:通过jQuery的$.extend方法来设置多个配置项

   
  1. $(document).bind("mobileinit", function(){ 
  2. $.extend( $.mobile , { 
  3. foo: bar 
  4. }); 
  5. }); 

方法二:独立设置每个配置项

   
  1. $(document).bind("mobileinit", function(){ 
  2. $.mobile.foo = bar
  3. }); 

初始化配置项

以下是可以通过$.mobile对象来初始化的配置项:

activeBtnClass (string, default: "ui-page-active"):

设置按钮处于激活状态时的CSS样式。

字符串类型,在默认状态下参数是引用样式表中的” ui-page-active "。

覆盖范围:Buttons、List views、Select menus等组件的触发状态。

例如:

   
  1. $(document).bind("mobileinit", function(){ 
  2. $.mobile.activeBtnClass="ui-btn-hover-a"
  3. }); 

将按钮激活状态的样式定义为样式” ui-btn-hover-a”

activePageClass (string, default: "ui-page-active"):

设置当前激活状态页面的样式,一个jM页面中必将有一个页面容器是处于激活状态的,其它jM页面容器将会处于隐藏状态,

字符串类型,在默认状态下参数是引用样式表中的” ui-page-active”,样式ui-page-active是用来将页面设置为显示状态的样式。所以在自定义这个样式到时候必须要在样式中声明以下属性:”display:block !important; overflow:visible !important;”(注意:不熟悉jM的CSS框架的朋友经常会遇到自定义的样式不起作用的情况,这一般是由于自定义的样式和原有CSS框架的继承关系不同引起的,可以在不起作用的样式后面加上!important来提高自定义样式的优先级)

例如:

   
  1. $(document).bind("mobileinit", function(){ 
  2. $.mobile.activePageClass="ui-page-custom"
  3. }); 

将页面激活状态的样式定义为样式” ui-page-custom”,” ui-page-custom”中必须定义” display:block !important; overflow:visible !important;”属性。

ajaxEnabled (boolean, default: true):

同时设置页面中的链接和表单提交是否使用Ajax方法,也就是说表单的提交和a标记中的链接,都是采用ajax调用。

布尔类型,在默认状态下参数是true。

例如:

    
  1. $(document).bind("mobileinit", function(){ 
  2.         $.mobile.ajaxEnabled=false
  3. }); 

如果你的项目中没有用到Ajax,那么建议将这里设为false

ajaxFormsEnabled (deprecated boolean, default: true):

单独设置页面中的表单提交是否使用Ajax方法。

布尔类型,在默认状态下参数是true。

ajaxLinksEnabled (deprecated boolean, default: true):

单独设置页面中的链接是否使用Ajax方法。

布尔类型,在默认状态下参数是true。

autoInitialize (boolean, default: true):

设置页面是否自动初始化,当设置为false时,jQM将推迟对页面的渲染,方便我们动态构建页面的Dom元素等异步操作时引发的页面渲染失败问题。

在页面元素构建完成后用$.mobile.initializePage();来开始渲染页面。

布尔类型,默认状态下参数为true。

例如:

    
  1. $(document).bind("mobileinit", function(){ 
  2.         $.mobile.autoInitialize=false; //删除这行配置参数就会出现渲染错误 
  3. }); 
  4. $(function(){ 
  5.      function newDom(){ 
  6.           $("div[data-role='content']") 
  7.            .append("<a href='web.html' data-role='button'>Link button</a>"); 
  8.             $.mobile.initializePage();//加载完成后开始渲染页面 
  9.        } 
  10.       setTimeout(newDom,500); //延时加载 
  11. }); 

defaultTransition (string, default: 'slide'):

设置默认的页面过渡效果,如果不想使用过渡效果就将参数设置为”none”。

字符类型,默认参数”slide”。

gradeA (function that returns a boolean, default: a function returning the value of $.support.mediaquery):

用于判断浏览器是否属于A级浏览器。

布尔类型,默认$.support.mediaquery用于返回这个布尔值。

loadingMessage (string, default: "loading"):

设置加载提示框里显示的文本,如果设置为false,将不显示加载提示框。

字符类型,默认值”loadind”。

metaViewportContent (string, default: "width=device-width, minimum-scale=1, maximum-scale=1"):

设置用于页面的适应比例的mata元素,如果设置为false,将不添加Mata元素。

字符类型,默认” width=device-width, minimum-scale=1, maximum-scale=1”。

nonHistorySelectors (string, default: "dialog"):

设置何种data-rel参数不会记录到哈希表。

由于现阶段data-rel只有” dialog”参数,建议不要自定义此项。

subPageUrlKey (string, default: "ui-page"):

用于设置引用子页面时哈希表中的标识。

字符类型,默认” ui-page”。

初始化配置部分结束

你可能感兴趣的:(JQuery Mobile)