jQuery mobile 移动web(6)


Posted in Javascript onDecember 20, 2015

jquery mobile 针对移动端设备的事件类型。

 

1.touch 事件。

 

tap 快速触摸屏幕并且离开,类似一种完整的点击操作。
 

taphold 触摸屏幕并保持一段时间。
 

swipe 在1秒内水平移动30px屏幕像素上时触发。
 

swipeleft 向左侧滑动
 

swiperight 像右侧滑动。

 

2.方向改变事件

 

orientationchange 事件函数当移动设备的方向发生改变触发,在事件的回调函数内的第二个参数返回一个用于识别当前方向的参数,
 

该参数有两种返回值:portrait(纵向)landscarp(横向)。

   3.滚动事件,

 

scrollstart 开始滚动时候触发该事件。
 

scrollend 滚动结束时触发该事件。

 

4.显示/隐藏

 

pagebeforeshow 当视图通过动画效果开始显示在屏幕之前触发事件。
 

pagebeforehide 当视图通过动画效果开始隐藏之前触发事件,
 

pageshow 当视图通过动画效果显示在屏幕之后触发事件。
 

pagehide 当视图通过动画效果隐藏后触发。

示例代码: 

$("div").live("pageshow",function(event,ui){ 




alert("this page just hidden"+ui.prevPage)



})

5.模拟鼠标事件

 

vmouseover 统一处理触摸和鼠标悬停事件。
 

vmousedown 统一处理触摸和鼠标按下事件。
 

vmousemove 统一处理触摸和鼠标移动事件。
 

vmouseup 统一处理触摸和鼠标按键松开事件。
 

vclick 统一处理触摸和鼠标点击事件。
 

vmousecancel 统一处理触摸和鼠标l离开事件。

页面视图辅助工具

 

1. $.mobile.changePage

通过函数编程的方式改变两个视图之间切换效果。通常在点击超链接或提交表单的时候自定义切换效果。

 

语法: 

 

 $.mobile.changePage(to,options);


to 是必选参数, 可以传递的参数类型包括字符串,对象。
 


options 可选,传递的是一个JSON 数据格式对象,
 


用法: 以下实例将改变decondPage.html 的页面效果
 


$.mobile.changePage("secondPage.html",{ 




transition:"slidedown"



})

 表单提交操作

 

 $.mobile.changePage("submit.php",{ 


type:"post";



data:$("form#add").seriaize();


})

 

2.$.mobile.loaPage

主要的作用是加载外部页面,并插入当前页面的DOM元素内。
 

$.mobile.loadPage(url,options);

url 是一个必选参数,传递一个绝对或者相对的 URL 地址
 

options 可选参数,传递的是一个JSON 数据对象。

示例: 

$.mobile.loadPage("secomdPage.html");

 提交表单并加载结果页面:
 

$.mobile.loadPage("result.php",{ 



type:"get",



data:$("form#search").serizlize();


})

数据存储:

   1.jqmData()方法;

可以在元素上绑定任意数据。

 

$.mobile.jqmData(element,key,value)

element 参数是指定需要绑定数据的元素;
 

key 需要绑定数据的属性名,
 

value 绑定的数据。

 

2.jqmRemoveData() 方法:

 

该方法是移除绑定在元素上的data数据,
 

$.mobile.jqmRemoveData([name])

name 是可选参数,指定需要移除哪个data属性,如果不穿参数,则需要移除元素上的所有数据。

   3.jqmHasData() 方法

 

判断元素上是否存在绑定 的数据,
 

$.mobile.jqmHasData(element);

element 参数是一个进行数据检查的DOM元素。

地址路径辅助工具:

 

1.解析URL 地址

 

$.mobile.path.parseUrl 函数解析一个Url 指定, 并返回一个含有所有参数值的对象,让我们很轻易的访问Url地址上的参数属性。

 

parseUrl 函数的语法

 

$.mobile.path.parseUrl(url);

url 参数是一个相对或者绝对的URL地址,必选传入的参数。
 

parseUrl 函数返回一个对象,对象内包含丰富的属性。
 

属性: hash 说明:#号后面的所有的字符内容,相当于location 的hash

属性: host 说明:URL的主机名和端口号
 

属性: hostname 说明:返回只包含URL 的主机名。
 

属性: href 说明:返回整个URL地址。
 

属性: pathname 说明:返回文件或目录的关联路径
 

属性: port 说明:请求返回Url的端口号
 

属性:portocol 说明:返回请求Url 地址的协议,如 http https

属性:search 说明:返回地址中“?”后面的请求参数
 

属性:authority 说明:返回用户名,密码,主机名,端口号组成的地址,
 

属性:directiry 说明:返回请求URL地址的目录路径,
 

属性:domain 说明:返回 protocal 协议和authority 组成的路径
 

属性:filename 说明:返回请求的Url文件名
 

属性:hrefOfHash 说明:返回不包含hash 值的URL 路径。
 

属性:hrefOfSearch 说明:返回不包含请求参数和hash值的URL 路径。
 

属性:password 说明:返回请求URL 中的密码 如ftp 协议密码。
 

属性: username 说明:返回请求URL中的用户名,如ftp 协议的用户名。

loading 显示/隐藏

 

显示loading 对话框的方法是
 

$.mobile.showPageLoadingMse();
 

隐藏loading 对话框的方法是
 

$.mobile.hidePageLoadingMse();

 JQuery Mobile 和 HTML5 的 3个优点

 1. 上手迅速并支持快速迭代:在一个星期多一点的时间里,通过阅读JQuery Mobile文档以及O'Reilly出版的JQuery Mobile书籍,我完成了一个可以工作的app初步版本。在此之前我没有HTML5 / JQuery Mobile开发经验。与Android和iOS相比,使用JQuery Mobile和HTML5构建你的UI和逻辑会比在原生系统下构建快得多。

译注:原生系统:原装的操作系统,例如Android原生系统是Google发布未经修改的系统。在本文中,原生应用指直接用系统提供的API开发的程序,与JQuery Mobile开发的程序相对应。

我发现Apple的Builder接口的学习曲线十分陡峭,同样学习令人费解的Android布局系统也很耗时间。此外,要使用原生代码将一个list view连接到远程的数据源并具有漂亮的外观是十分复杂的(在Android上是ListView, 在iOS上是UITableView)我能够通过已经掌握的JavaScript和HTML/CSS知识快速地实现同样的功能,无需学习新的adapter,delegate等等抽象概念,只要编写JQuery代码就可以做到。

2.避免麻烦的应用商店审批过程以及调试、构建带来的痛苦:为手机开发应用,尤其是iOS系统的手机,最痛苦的过程莫过于通过Apple应用商店的审批。想要让一个原生应用程序发布给iOS用户,你需要等待一个相当长的过程(需要好几天,甚至可能是好几周)。不仅在第一次发布程序时要经历磨难,以后的每一次升级也是如此。这使得QA和发布流程变得复杂,还会增加额外的时间。由于JQuery Mobile应用程序仅仅是一种web应用程序,因此它继承了所有web环境的优点:当用户加载你的网站时,他们就马上“升级”到最新的版本。可以马上修复bug和添加新的特性。即使是在Android系统——应用市场的要求比起Apple环境要宽松得多,在用户不知不觉中完成产品升级也是一件很好的事情。

进一步的好处是,发布beta或测试版本会更加容易。只要告诉用户用浏览器打开你的网址就可以了!不需要考虑iOS令人抓狂的DRM,也不需要理会Android必须的APK。

3.支持跨平台和跨设备开发:一个巨大的好处是,我的应用程序马上可以在Android和IOS上工作,同样也可以在其他平台上工作。作为一个独立开发者,为不同的平台维护基础代码是一项巨大的工作。为单个手机平台编写高质量的手机应用需要全职工作,为每个平台重复做类似的事情需要大量的资源。应用程序能够在Android和IOS设备上同时工作对我来说是一个巨大收获。

更进一步,尤其是对于运行Android各种分支的设备,它们大小和形状各异,想要让你的应用程序在各种各样屏幕分辨率的手机上看起来都不错,这是真正的挑战。对于要求严格的Android开发者来说,按照屏幕大小进行设屏幕分割(从完全最小化到最大进行缩放)会需要很多开发时间。由于浏览器会在每个设备上以相同的方式呈现,关于这个方面你不必有任何担心。

Javascript 相关文章推荐
JavaScript 撑出页面文字换行
Jun 15 Javascript
浅说js变量
May 25 Javascript
写jQuery插件时的注意点
Feb 20 Javascript
ES5学习教程之Array对象
Apr 01 Javascript
Js中使用正则表达式验证输入是否有特殊字符
Sep 07 Javascript
vue实现todolist功能、todolist组件拆分及todolist的删除功能
Apr 11 Javascript
对于防止按钮重复点击的尝试详解
Apr 22 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
May 30 jQuery
通过实例学习React中事件节流防抖
Jun 17 Javascript
ES6基础之数组和对象的拓展实例详解
Aug 22 Javascript
angular8和ngrx8结合使用的步骤介绍
Dec 01 Javascript
解决vue bus.$emit触发第一次$on监听不到问题
Jul 28 Javascript
jquery mobile 移动web(5)
Dec 20 #Javascript
js倒计时抢购实例
Dec 20 #Javascript
js代码实现点击按钮出现60秒倒计时
Jan 28 #Javascript
js实现无缝滚动特效
Dec 20 #Javascript
基于JavaScript实现动态创建表格和增加表格行数
Dec 20 #Javascript
原生js页面滚动延迟加载图片
Dec 20 #Javascript
javascript实现的网站访问量统计代码
Dec 20 #Javascript
You might like
如何删除多级目录
2006/10/09 PHP
PHP进阶学习之依赖注入与Ioc容器详解
2019/06/19 PHP
基于PHP实现用户登录注册功能的详细教程
2020/08/04 PHP
JavaScript 应用类库代码
2008/06/02 Javascript
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
JavaScript高级程序设计 事件学习笔记
2011/09/10 Javascript
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
2013/04/17 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
在JavaScript中操作数组之map()方法的使用
2015/06/09 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
Bootstrap table的使用方法
2016/11/02 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
微信小程序与php 实现微信支付的简单实例
2017/06/23 Javascript
详解如何去除vue项目中的#——History模式
2017/10/13 Javascript
微信小程序实现自定义加载图标功能
2018/07/19 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
jQuery实现飞机大战小游戏
2020/07/05 jQuery
python计算时间差的方法
2015/05/20 Python
浅谈Pandas 排序之后索引的问题
2018/06/07 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
2018/07/17 Python
从列表或字典创建Pandas的DataFrame对象的方法
2019/07/06 Python
Django后端发送小程序微信模板消息示例(服务通知)
2019/12/17 Python
windows下python安装pip方法详解
2020/02/10 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
简单了解python列表和元组的区别
2020/05/14 Python
Html5 video标签视频的最佳实践
2020/02/26 HTML / CSS
婴儿地球:Baby Earth
2018/12/25 全球购物
大学生四个方面的自我评价
2013/09/19 职场文书
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
护士个人自我鉴定
2014/03/24 职场文书
2015年党风廉政承诺书
2015/01/22 职场文书
全陪导游词
2015/02/04 职场文书
2015年医院药剂科工作总结
2015/05/04 职场文书
代码解析React中setState同步和异步问题
2021/06/03 Javascript