日期:2014-05-16  浏览次数:20811 次

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。

ajaxLinksEnable