位置: 编程技术 - 正文

jQuery Mobile操作HTML5的常用函数总结(jquerymobile实例网站)

编辑:rootadmin

推荐整理分享jQuery Mobile操作HTML5的常用函数总结(jquerymobile实例网站),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:jquery应用,jquery mobile grid,jquery操作dom,jquery mobile grid,jquery mobile grid,jquerymobile实例网站,jquery的使用,jquery mobile grid,内容如对您有帮助,希望把文章链接给更多的朋友!

一. $.mobile.changePage() & $.mobile.loadPage()1.$.mobile.changePage()

$.mobile.changePage() 方法会在页面加载时自动调用,若这个页面为当前文档中的不同 "page",则会转到这个新页面隐藏旧页面;若这个页面为外部页面,即页面与当前页面不在同一文档中(本质上是新页面不在当前 DOM 中),$.mobile.changePage() 首先会调用 $.mobile.loadPage() 把外部页面的元素插入到 DOM 中,再显示新页面。这也是对页面加载过程的简单复述。

$.mobile.changePage() 有两个参数 to (string or object, 必须) 和 options (object, 可选),具体如下:

(1)—— to (string or object, 必须)

to 为必要参数,其值可以为 string(字符串,如 "about/us.html") 或 object(对象,如 $("#about")),这主要是面向两种不同的页面,string 形式的为外部页面链接,而 object 为同一文档中的不同 "page" ,如 "#page2" ,$.mobile.changePage() 会把其处理成包含这个 DOM 的 jQuery 对象,即 $('#page2') 这种形式,而 $.mobile.changePage() 内部会判断 to 参数的形式,若是 string 则调用 $.mobile.loadPage() 把外部页面的元素插入到 DOM 中,再显示页面。

(2)—— options (object, 可选)

options 为可选参数,其值为 object (对象),这个 object 包含多个属性,这些属性储存一个页面的各种参数,jQuery Mobile 会根据这些参数来控制如何加载页面,以及对页面进行初始化。具体属性值如下:

allowSamePageTransition (boolean, 默认值: false) 默认情况下,$.mobile.changePage() 是不会理会跳转到当前页面的请求。把这个属性设置为 "true" ,则可以允许这种请求

changeHash (boolean, 默认值: true) 判断地址栏上的哈希值是否应该被更新。

data (object 或 string, 默认值: undefined) Ajax 请求时发送的数据。仅当 to 参数的值为一个 URL 时可用。

dataUrl (string, 默认值: undefined) 当浏览器完成页面转换时要更新浏览器的地址栏上的 URL 。如不特别指定,则使用 data-url 的属性值。

pageContainer (jQuery collection, 默认值: $.mobile.pageContainer) 指定包含页面的 DOM 对象的 jQuery 对象。

reloadPage (boolean, 默认值: false) 强制刷新页面,即使页面容器的 DOM 已经准备好仍然会执行刷新。仅当 to 参数的值为一个 URL 时可用。

reverse (boolean, 默认值: false) 设置页面转场动画的方向。当该属性设置为 "true" 时页面转场反向。

role (string, 默认值: undefined) 显示页面的时候使用 data-role 值。默认情况下为 undefined,即取决于元素的 @data-role 属性值(标签上 data-role 的值)。

showLoadMsg (boolean, 默认值: true) 设置当加载外部页面时是否显示加载提示信息。

transition (string, 默认值: $.mobile.defaultPageTransition) 设置页面加载时使用的过场动画。

type (string, default: "get") 设置请求页面时使用的方法 ("get" 或 "post") 。仅当 to 参数的值为一个 URL 时可用。

这里引用例子说明一下 $.mobile.changePage() 的使用方法,手动调用该方法可以触发跳转到一个新页面,例如,在 Web Apps 发生错误时可以跳转到一个提示错误的页面。

发生错误时可以跳转到一个提示错误的页面。

2.$.mobile.loadPage()

如上面所述,$.mobile.loadPage() 用于加载一个外部页面,但这里的加载是指把外部页面的元素插入到当前 DOM 中,并在插入之前对页面内容进行 jQuery Mobile 增强 。该方法会被 $.mobile.changePage() 调用,条件是 $.mobile.loadPage() 的第一个参数 to 为 string (即加载的页面为外部页面)。这个方法仅仅是进行插入 DOM 操作,不会影响当前激活的页面,所以它可以用于在后台加载页面(只插入 DOM 而不显示页面),该方法会返回一个 deferred 对象,包含页面请求成功与否等相关信息,并会在页面增强和插入 DOM 后分解这个对象。

$.mobile.loadPage() 有两个参数 url (string or object, 必须) 和 options (object, 可选),具体情况如下:

(1)—— url (string or object, 必须)

该参数的值可以为 string 或 object ,无论是何种形式,必须为一个绝对或相对 URL 。若是由 $.mobile.changePage() 调用本方法时,则该参数值为 $.mobile.changePage() 的 to 参数值。

(2)—— options (object, 可选)

options 为可选参数,其值为 object (对象),实际上如由 $.mobile.changePage() 调用本方法时,该参数值为 $.mobile.changePage() 的 options 参数值。因此这个 object 与 $.mobile.changePage() 的 options 选项值相同,其具体属性值请参考 $.mobile.changePage() 中 options 的属性值。

这里引用例子说明一下 $.mobile.loadPage() 的使用方法,手动调用该方法可以在后台加载外部页面的元素并且不影响当前激活页面。

二. $.fn.jqmData() & $.fn.jqmRemoveData()当页面中使用了 jQuery Mobile ,jQuery Mobile 会使用 jqmData 和 jqmRemoveData 代替 jQuery 核心的 data 和 removeData 方法(注意,这包括了 jQuery 中的 $.fn.data , $.fn.removeData , $.data , $.removeData 和 $.hasData),这两个方法会自动获取和设置 data 属性的命名空间(即使当前没有使用命名空间)。

这两个方法的参数对应着 jQuery 的 data 和 removeData 方法的参数,具体如下:

(1)—— jqmData( jQuery.data() )

element 与该 data 属性相关联的 DOM 对象key data 的命名字符串value data 属性的值(2)—— jqmRemoveData ( jQuery.removeData() )

element 与需要移除 data 属性相关联的 DOM 对象name 需要移除的 data 的命名字符串注意:当通过 jQuery Mobile data 属性寻找元素时,请使用自定义选择器:jqmData() ,它会在查询元素时自动合并 data 属性的命名空间。例如,你应该使用 $('div:jqmData(role="page")') 代替 $('div[data-role="page"]') ,因为前者会自动映射到 $("div[data-"+ $.mobile.ns +'role="page"]') ,而不需要强制把选择器与命名空间连接起来。例如:命名空间为 rn ,若使用后者即为 $('div[data-rn-role="page"]') ,这时如果更改了命名空间,则这个选择器便会失效,而使用前者则会自动映射到当前选择器中,即使更改命名空间也不会造成这个选择器失效。

但是也有例外的情况,就是根据 URL 值在命名空间中选择 data 属性,例如,jQuery Mobile 可以使用 :jqmData(url) 跟踪一个页面来自哪里,根据 URL 中的命名空间来选择空间内的 data 属性。这要求需要在选择器的括号内填写一个有效的 URL 。

三. $.fn.jqmEnhanceable()这是判断元素是否要进行 jQuery Mobile 增强的方法,默认情况下,所有 jQuery Mobile 组件都会通过此方法放入 jQuery Mobile 增强集,以交给另一函数进行 jQuery Mobile 增强,包括添加相应的 HTML , CSS class 和交互。这是 jQuery Mobile 默认调用的方法,并且没有任何可选参数,但该方法仍有一个很值得注意的地方,在方法的实现函数内部,会判断默认配置 $.mobile.ignoreContentEnabled 的值,若为 true ,则会对调用该方法的 jQuery 对象的 DOM 父节点遍历,若父节点标签上设置了 data-enhance = "false" ,则不让该 DOM 对象加入增强集。事实上 jQuery Mobile 的官方文档并没有阐述 $.fn.jqmEnhanceable() 的具体使用方法,反而用了不少篇幅介绍这个注意事项。

另外还需要注意的是,遍历操作会设计元素的所有父节点,因此即使遍历一个很小的 jQuery 对象集的父节点也会消耗很多资源,开发则需要谨慎使用。若开发时已经明确不需要对某元素进行增强,建议还是直接不使用 data-role 触发相应的组件。

而如何设置 $.mobile.ignoreContentEnabled 的值,可以参考《使用 jQuery Mobile 与 HTML5 开发 Web App —— jQuery Mobile 默认配置与事件基础》

四. $.fn.jqmHijackable()这是判断元素是否加入 jQuery Mobile Ajax 导航,即使用 Ajax 进行处理的方法,与 $.fn.jqmEnhanceable() 相似,默认情况下这也是会为所有链接和表单提交执行,使到它们可以加入 jQuery Mobile Ajax 处理集合,交给另一函数处理。在 jQuery Mobile 内部,本方法与 $.fn.jqmEnhanceable() 最终都是调用了 haveParents 方法,来判断元素是否应该加入相应的集合。因此,本方法执行时会判断默认配置 $.mobile.ignoreContentEnabled ,若为 true ,则会对调用该方法的 jQuery 对象的 DOM 父节点遍历,若父节点上标签上设置了 data-ajax = "false" ,则不让该 DOM 对象加入 Ajax 导航集。当然,在使用这个特性时也需要注意遍历带来的大量资源消耗。

五. $.mobile.loading()该方法从 jQuery Mobile 1.2 开始正式引进,控制显示或隐藏页面加载信息,包含两个参数,第一个是控制页面信息加载与否,只有 "show" 和 "hide" 两个值,第二个参数为多属性对象,具体的属性如下:

theme (string, 默认值: "a") 加载信息条的主题样式text (string, 默认值: "loading") 加载信息条的文字内容textonly (boolean, 默认值: false) 若设置为 true ,则加载页面时 "spinner" 图片(即旋形加载提示图,1.0 及之前版本为条形加载图)会被隐藏。textVisible (boolean, 默认值: false) 若设置为 true ,提示的文字内容会置于 spinner 之下html (string, 默认值: "") 如果个属性值不为空,则这个值会替代整个加载信息条的 HTML下面引用例子说明 $.mobile.loading 的使用方法。

以下两个方法在 jQuery Mobile 1.2 中不赞成使用

六. $.mobile.hidePageLoadingMsg()显示页面加载信息,基于 $.mobile.loadingMessage 配置出来,具体有三个参数

theme (string, default: "a") The theme swatch for the message.msgText (string, default: "loading") The text of the message.textonly (boolean, default: false) If true, the "spinner" image will be hidden when the message is shown.例子:

在 jQuery Mobile 1.2 中,建议使用 $.mobile.loading('show') 代替。

七. $.mobile.hidePageLoadingMsg()隐藏页面加载信息,基于 $.mobile.loadingMessage 配置出来,没有参数。

例子:

在 jQuery Mobile 1.2 中,建议使用 $.mobile.loading('hide') 代替。

八. $.mobile.fixedToolbars.show()固定工具栏(包括固定的头部栏和尾部栏)可以通过点击屏幕在显示与隐藏之间切换,而这个方法则是手动显示一次工具栏。

它具有一个参数 immediately(boolean, 可选) 。把它设置为 true ,当前激活页面的所有固定工具栏都会立即显示出来。若设置为 false 或者没有指定,则会通过 ms 的渐变显示出来。注意如 document 的 resize 和 scroll 等事件会导致额外的延时显示。

例子:

在 jQuery Mobile 1.1 中,不建议使用该方法,jQuery Mobile 并没有明确原因,但根据 jQuery Mobile 的习惯,这很可能是因为这个方法有很多不稳定性,如上面提到的遇到某些方法会出现额外的延时显示,这对于建立 Web Apps 是很不好的影响因素,它会从底层部分为 Web Apps 带来不可预知的问题。

九. $.mobile.fixedToolbars.hide()固定工具栏(包括固定的头部栏和尾部栏)可以通过点击屏幕在显示与隐藏之间切换,而这个方法则是手动隐藏一次工具栏。

与 $.mobile.fixedToolbars.show() 相似,它具有一个参数 immediately(boolean, 可选) 。把它设置为 true ,当前激活页面的所有固定的工具栏都会立即隐藏。若设置为 false 或者没有指定,则会通过 ms 的渐变隐藏起来。注意如 document 的 resize 和 scroll 等事件也会增加隐藏动画的时间。

例子:

jQuery Mobile操作HTML5的常用函数总结(jquerymobile实例网站)

在 jQuery Mobile 1.1 中,也不建议使用该方法。

十. $.mobile.path.parseUrl()本方法用于解析一个 URL 和它的相对形式,并且它的相关成分放入一个对象中,方便访问这些 URL 相关成分。当解析相对形式的 URL 时,返回的对象会自动为绝对形式 URL 中没有的成分(如 protocol, host , etc )添加空字符串作为值。另外,当解析的 URL 没有 authority (见下面的列表),返回的对象中的 pathname 属性会包含通信协议冒号后的数据。

$.mobile.path.parseUrl() 只有一个参数 URL (string, 可选) ,其值为一个 URL 的相对或绝对形式。

另外,$.mobile.path.parseUrl() 会返回一个包含 URL 相关成分的对象,这个对象的属性是模仿浏览器中的 location 对象。具体的属性如下:

hash URL 中的一个部分,从 URL 中第一个 "#" 开始的部分。host URL 的主机名及端口。hostname URL 的主机名。href 被解析的原始 URL 。pathname URL 所引用的文件或目录的路径。port URL 中指定的端口。大多数 URLs 依赖于数据传输协议所用的默认端口,所以这个值在大多数时候都可能是空字符串。protocol 数据传输协议,URL 中 ':' 之前的部分。search URL 中的从 "&#;" 字符开始的部分,代表 URL 查询。另外它也包括提供给入口的额外成分,如一些常见形式的开发者访问。authority URL 的用户名,密码,主机名directory pathname 中的目录部分,并且不包括任何文件名。domain URL 中的数据传输协议和用户名,密码,主机名等信息,即域。filename pathname 中的文件部分,并且不包括任何目录名。hrefNoHash 从原始 URL 中减去 hash 部分。hrefNoSearch 从原始 URL 中减去 hash 和 search 部分。password authority 中的 password 部分。username authority 中的 username 部分。例子:

十一. $.mobile.path.makePathAbsolute()把一个相对的文件或目录路径转化为绝对路径。

具有两个参数 relPath (string, 必须) 和 absPath (string, 必须) ,具体如下:

(1)—— relPath (string, 必须)

其值为一个相对的文件或目录路径。

(2)—— absPath (string, 必须)

用于解析的一个绝对的文件或相对的路径。

$.mobile.path.makePathAbsolute() 会返回一个包含相对路径的绝对路径版本的字符串。

例子:

十二. $.mobile.path.makeUrlAbsolute()把一个相对 URL 转化为绝对 URL 。

具有两个参数 relUrl (string, 必选) 和 absUrl (string, 必选) ,具体如下:

—— relUrl (string, 必选)

一个相对形式的 URL 。

—— absUrl (string, 必选)

用于解析的一个绝对的文件或相对的路径。

$.mobile.path.makeUrlAbsolute() 会返回一个包含相对 URL 的绝对 URL 版本的字符串。

例子:

十三. $.mobile.path.isSameDomain()比较两个 URL 的域。

具有两个参数 url1 (string, 可选) 和 url2 (string, 可选) 具体情况如下:

—— url1 (string, 可选)

一个相对 URL。

—— url2 (string, 可选)

url2 (string, required) 一个需要解析的绝对 URL 。

返回值为 boolean 型变量,若两个域匹配,则返回 "true" ,否则返回 "false" 。

例子:

十四. $.mobile.path.isRelativeUrl()判断一个 URL 是否是相对 URL 。

它具有一个参数 URL (string, 必选) ,其值为一个相对或绝对的 URL 。

返回值为 boolean 型变量,若 URL 为相对形式的 URL ,则返回 "true" ,否则返回 "false" 。

例子:

十五. $.mobile.path.isAbsoluteUrl()判断一个 URL 是否是绝对 URL 。

它具有一个参数 URL (string, 必选) ,其值为一个相对或绝对的 URL 。

返回值为 boolean 型变量,若 URL 为绝对形式的 URL ,则返回 "true" ,否则返回 "false" 。

例子:

十六. $.mobile.path.get()该方法可以判断一个 URL 的目录部分。如果 URL 末尾没有反斜杠,则 URL 最后的部分会被认为是文件名。这个情况对于站长来说应该不陌生,如 ,URL 中最后的部分 "aaa/" 应该是一个目录,而 中最后的部分 "xxx.zip" 则应该是一个文件名。这也是 Kayo 之前建议注意网址末尾是否需要添加反斜杠的原因。

这个方法具有一个参数 url (string, 必选) ,其值是一个相对或绝对的 URL 。

返回值为 URL 中的目录部分。

例子:

十七. $.mobile.base获取根元素。

十八. $.mobile.silentScroll()静默滚动到某个 Y 值处,并且不触发任何事件。

它具有一个参数,yPos (number, 默认为 0),其值为需要滚动到的 Y 位置。

十九. $.mobile.activePage引用当前激活的页面。

二十. 关于方法的调用1. 方法调用相应 JavaScript 的引入

在介绍自定义 jQuery Mobile 默认配置时,曾经说明了相应的 JavaScript 语句需要放置在 jQuery 库和 jQuery Mobile 库之间,而 jQuery Mobile 方法是对 jQuery Mobile 的调用,因此需要在引入 jQuery Mobile 库之后调用,具体如下:

2. 方法的调用

对于 jQuery 开发者,应该比较习惯在触发 ready 事件后执行 JavaScript ,例如:

或简写为,

这里说明一下,当 DOM 已经加载,并且页面(包括图像)已经完全呈现出时,会触发 ready 事件。

而在系列文章的上一篇中,Kayo 介绍了 pageinit 事件,它在 DOM 加载完成后(包括 jQuery Mobile 对元素的 DOM 增强),就会触发,即它比 ready 更早的触发。

但由于 jQuery Mobile 驱动的网站由 Ajax 导航,因此即使一个文档中包含多个 'page' ,当第一个 'page' 的 DOM 和内容加载完毕后就会触发 ready 事件,而 pageint 也只需第一个 'page' 的 DOM 加载完毕后即触发。

而最终利用那种事件作为开始调用方法的合适时机,会涉及很多方便的考虑,开发者应该根据实际情况作出选择。

下面例举一个例子说明如何调用 jQuery Mobile 方法,由于 jQuery Mobile 的方法很多,这里只使用 $.mobile.changePage() 方法演示如何调用方法。例子中的 JavaScript 代码如下:

上例中通过检测向左划动事件触发跳转到一个外部页面,同时使用 'slide' 转场动画并以对话框形式显示新页面。

jQuery 获取屏幕高度、宽度的简单实现案例 做手机Web开发做浏览器兼容用到了,所以在网上找了些汇总下。alert($(window).height());//浏览器当前窗口可视区域高度alert($(document).height());//浏览器当前窗

jQuery Mobile框架中的表单组件基础使用教程 一.表单组件基础1.组件简介jQueryMobile中的表单组件是基于标准HTML,然后在此基础上增强样式,因此即使浏览器不支持jQueryMobile表单仍可正常使用。需要

使用jQuery Mobile框架开发移动端Web App的入门教程 一.jQueryMobile的渐进增强设计与浏览器支持根据维基百科(Wikipedia)的解释,渐进增强的设计主要包括以下几点basiccontentshouldbeaccessibletoallwebbrowsers(所有

标签: jquerymobile实例网站

本文链接地址:https://www.jiuchutong.com/biancheng/386582.html 转载请保留说明!

上一篇:Web前端新人笔记之jquery入门心得(新手必看)(web前端入门教程)

下一篇:jQuery 获取屏幕高度、宽度的简单实现案例(jquery 获取屏幕高度)

  • 自行申报是什么征收方式
  • 销售部门领用材料用于销售计入
  • 工程施工企业收入和成本需不需要设置按项目核算
  • 计提资本公积的处理
  • 电汇凭证的日期为什么必须是当天
  • 递延所得税资产和负债怎么计算
  • 出现哪些情形纳入医保
  • 买二手房为什么要交个人所得税
  • 广告位租赁交印花税吗
  • 财报分析推荐书籍
  • 商品税目编码表查询
  • 税款滞纳金如何免除
  • 租赁房使用权和所有权冲突
  • 增值税还原税负率一般控制在多少?
  • 待抵扣进项税贷方有余额什么意思
  • 资源税改革对政治的影响
  • 购买固定资产的税率是多少
  • 专票红冲分录
  • 购买机动车怎样抵扣进项税
  • 设备租赁收入属于什么收入
  • 广告业文化事业建设费2023标准
  • macbookpro提醒事项
  • 城镇土地使用税征收范围
  • 事业单位负债类科目包括哪些科目
  • 赠与合同要公证吗有效吗
  • 处置子公司属于调整事项吗
  • uefiu盘安装系统步骤win10
  • linux web gui
  • 所得税贷款利息扣除
  • swoole如何使用
  • 基于php的系统
  • php数组怎么定义
  • php输出数字
  • thinkphp获取get传值
  • 冰川洞洞打法
  • react组件框架
  • Vue3通透教程【二】更高效的构建工具—Vite
  • 深入全面剖析自己
  • 逾期的押金税率是多少
  • 已认证发票对方作废后不重开怎么办
  • 手机银行对公账户转账要手续费吗
  • 幼儿园收费怎么说
  • 收取水电费计入什么科目
  • 出差的招待费应由谁承担
  • 两者有什么区别用英语怎么说
  • 法人购买车险发票在哪开
  • 可转换公司债券名词解释
  • 高铁行程信息提示可以乘车吗
  • 出租使用权什么意思
  • 应付职工薪酬要设二级科目吗
  • 应收利息和利息收入的差额
  • 上期留抵税额可以留多久
  • 资产负债表负债率怎么计算
  • 财务人员如何审合同课件
  • cmd命令行窗口快捷键
  • mysql速成要多久
  • win8.1 multiple edition
  • windows10预览版安装
  • 电脑开机自动弹出
  • 电脑windowxp系统重装
  • centos 操作日志
  • win10mobile还能用吗
  • 免安装版怎么用
  • win10更新已经下载好了能删除吗
  • linux使用语言
  • Node.js中的事件循环是什么意思
  • bash脚本加密
  • java多线程产生死锁
  • 关于javascript的说法
  • js设计模型
  • jquery定义方法
  • js响应事件的过程
  • jquery选项卡
  • javascript的dom操作
  • 河南省发票查询真伪
  • 青春逐梦税务蓝
  • 差额征税可以全部抵成本么?
  • 东莞税收突破2000亿
  • 餐饮业财务主管工作总结
  • 举报信如何投递
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设