jqm mobileinit事件 jquery mobile mobileinit事件jqm mobileinit用法及怎么用什么事件

初始化

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

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


Mobileinit事件

jQM的加载事件和普通的jQuery插件有所不同,它会在document.ready事件之前执行。因此我们在需要对jQM的默认运行参数进行调整的时候就需要在document.ready事件之前来对这些参数进行设置,jQM为我们提供了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"):

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

字符串类型,在默认状态下参数是引用样式表中的”ui-page-active”,样式ui-page-active是用来将页面设置为显示状态的样式。所以在自定义这个样式到时候必须要在样式中声明以下属性:”display:block !important; overflow:visible !important;”(注意:不熟悉jQM的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,maximum-scale=1”。

nonHistorySelectors (string,default: "dialog"):

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

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

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

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

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

jqm默认配置mobileinit事件ajax初始化部分的更多相关文章

  1. three.js模拟实现太阳系行星体系功能

    这篇文章主要介绍了three.js模拟实现太阳系行星体系功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

  2. HTML5页面无缝闪开的问题及解决方案

    这篇文章主要介绍了HTML5页面无缝闪开方案,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. ios – 为什么,将nil作为参数从Objc C发送到swift类初始化器,用新对象替换nil参数

    除非属性本身被声明为nonnull:

  4. ios – 在Swift中对MKCircle进行子类化

    我想通过添加另一个String属性来继承MKCircle,我们称之为“代码”.这个属性不是可选的和常量的,所以我必须从初始化器设置它,对吧?有没有办法定义一个单一的便利初始化器,在这种情况下需要3个参数?本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. ios – AVAudioPlayer不再使用Swift 2.0/Xcode 7 beta

    对于我的iPhone应用程序中的vartestAudio声明,我在这里收到错误“调用可以抛出,但错误不能从属性初始化程序中抛出”当我转到Xcode7测试版时,就发生了这种情况.如何在Swift2.0中使用此音频剪辑?

  6. ios – 斯威夫特.在初始化所有存储的属性之前在方法调用中使用’self’

    解决方法在初始化所有非可选实例变量之前,您无法在self上调用方法.有几种方法可以解决这个问题.>将属性更改为选项或隐式解包选项(不建议)>使buildCircle()方法静态或只是一个在文件中运行并为所有圆圈调用addSubview()在所有属性初始化并且您调用之后super.init()等等.你必须避免在自己之前打电话给自己class已初始化.

  7. ios – Objective-C警告未找到超类“-init”的指定的初始化程序的方法覆盖

    我在一个应用程序中清理警告,我收到了两次这个警告对于这行代码和这一行我相当新的Objective-C和谷歌这个警告,只是不明白的解决方案我的问题是如何摆脱这些警告?

  8. ios – UICollectionView不能使用UISearchController?

    在WWDC2014年的“AInsideInsidePresentationControllers”中,演示者展示了如何在UITableView中设置UISearchController.他们通过设置searchController的searchBar框架,然后将其设置为tableView的tableHeaderView来实现.不幸的是,UICollectionView没有相当于tableHeade

  9. ios7 – 如何使用默认的IOS映像

    嗨,我是IOS开发的新手.我知道如何在IOS应用程序中使用图像.但是我不知道如何使用默认图像,如开发者站点中提到的共享或书签图标.我想用它们我必须下载这些图像集或那些可用在xcode?

  10. ios – 在词典上引用成员’subscript’

    我正在尝试为类创建一个可用的初始化程序.我的类将使用来自网络请求的输入进行初始化.网络不可靠,我想创建一个初始化器,检查所有属性上的存在,否则它将失败.我试图在这里使用守卫,所以请随时指出方法中的任何明显的错误:守卫self.jobId行无法编译,错误:对成员’下标’的模糊引用关于如何纠正这个错误的任何想法?

随机推荐

  1. xe-ajax-mock 前端虚拟服务

    最新版本见Github,点击查看历史版本基于XEAjax扩展的Mock虚拟服务插件;对于前后端分离的开发模式,ajax+mock使前端不再依赖后端接口开发效率更高。CDN使用script方式安装,XEAjaxMock会定义为全局变量生产环境请使用xe-ajax-mock.min.js,更小的压缩版本,可以带来更快的速度体验。

  2. vue 使用 xe-ajax

    安装完成后自动挂载在vue实例this.$ajaxCDN安装使用script方式安装,VXEAjax会定义为全局变量生产环境请使用vxe-ajax.min.js,更小的压缩版本,可以带来更快的速度体验。cdnjs获取最新版本点击浏览已发布的所有npm包源码unpkg获取最新版本点击浏览已发布的所有npm包源码AMD安装require.js安装示例ES6Module安装通过Vue.use()来全局安装示例./Home.vue

  3. AJAX POST数据中文乱码解决

    前端使用encodeURI进行编码后台java.net.URLDecoder进行解码编解码工具

  4. Koa2框架利用CORS完成跨域ajax请求

    实现跨域ajax请求的方式有很多,其中一个是利用CORS,而这个方法关键是在服务器端进行配置。本文仅对能够完成正常跨域ajax响应的,最基本的配置进行说明。这样OPTIONS请求就能够通过了。至此为止,相当于仅仅完成了预检,还没发送真正的请求呢。

  5. form提交时,ajax上传文件并更新到&lt;input&gt;中的value字段

  6. ajax的cache作用

    filePath="+escape;},error:{alert;}});解决方案:1.加cache:false2.url加随机数正常代码:网上高人解读:cache的作用就是第一次请求完毕之后,如果再次去请求,可以直接从缓存里面读取而不是再到服务器端读取。

  7. 浅谈ajax上传文件属性contentType = false

    默认值为contentType="application/x-www-form-urlencoded".在默认情况下,内容编码类型满足大多数情况。在这里,我们主要谈谈contentType=false.在使用ajax上传文件时:在其中先封装了一个formData对象,然后使用post方法将文件传给服务器。说到这,我们发现在JQueryajax()方法中我们使contentType=false,这不是冲突了吗?这就是因为当我们在form标签中设置了enctype=“multipart/form-data”,

  8. 909422229_ajaxFileUpload上传文件

    ajaxFileUpload.js很多同名的,因为做出来一个很容易。我上github搜AjaxFileUpload出来很多类似js。ajaxFileUpload是一个异步上传文件的jQuery插件传一个不知道什么版本的上来,以后不用到处找了。语法:$.ajaxFileUploadoptions参数说明:1、url上传处理程序地址。2,fileElementId需要上传的文件域的ID,即的ID。3,secureuri是否启用安全提交,默认为false。4,dataType服务器返回的数据类型。6,error

  9. AJAX-Cache:一款好用的Ajax缓存插件

    原文链接AJAX-Cache是什么Ajax是前端开发必不可少的数据获取手段,在频繁的异步请求业务中,我们往往需要利用“缓存”提升界面响应速度,减少网络资源占用。AJAX-Cache是一款jQuery缓存插件,可以为$.ajax()方法扩展缓存功能。

  10. jsf – Ajax update/render在已渲染属性的组件上不起作用

    我试图ajax更新一个有条件渲染的组件。我可以确保#{user}实际上是可用的。这是怎么引起的,我该如何解决呢?必须始终在ajax可以重新呈现之前呈现组件。Ajax正在使用JavaScriptdocument.getElementById()来查找需要更新的组件。但是如果JSF没有将组件放在第一位,那么JavaScript找不到要更新的内容。解决方案是简单地引用总是渲染的父组件。

返回
顶部