小强的HTML5移动开发之路(52)——jquerymobile中的触控交互

当使用移动设备进行触控操作时,最常用的就是轻击、按住屏幕或者手势操作,jQuery Mobile可以通过绑定的触控事件来响应使用者的特定触控行为。

一、轻击与按住

直接上代码(一切皆在代码中,细细品吧!)

<!DOCTYPE html>
<html>
<head>
<title>练习</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,
      initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" />
<link href="css/jquery.mobile-1.0.1.min.css"
      rel="stylesheet" type="text/css"/>
<script src="js/jquery-1.6.4.js"
      type="text/javascript" ></script>
<script src="js/jquery.mobile-1.0.1.js"
      type="text/javascript" ></script>
<script type="text/javascript">
	$(‘#page1‘).live(‘tap‘, function(){
		$.mobile.changePage(‘#page2‘);
	});
	$(‘#page2‘).live(‘tap‘, function(){
		$.mobile.changePage(‘#page1‘);
	});
	$(‘#page1‘).live(‘taphold‘, function(){
		alert(‘taphold事件被触发‘);
	});
	$(‘#page2‘).live(‘taphold‘, function(){
		$.mobile.changePage(‘#about‘);
	});
</script>
</head>
<body>
	<section id="page1" data-role="page">
		<header data-role="header">
			<h1>Tap事件处理</h1>
		</header>
		<div class="content" data-role="content">
			轻击页面进入下一页<br/>
			按住不放,打开关于对话框
		</div>
		<footer data-role="footer"></footer>
	</section>
	<section id="page2" data-role="page">
		<header data-role="header">
			<h1>Tap事件处理</h1>
		</header>
		<div class="content" data-role="content">
			轻击页面返回前一页
		</div>
		<footer data-role="footer">
		</footer>
	</section>
	<div id="abut" data-role="dialog">
		<div data-role="header">
			<h1>关于本程序</h1>
		</div>
		<div data-role="content">
			演示轻击触控事件响应
		</div>
	</div>
</body>
</html>

tap:轻击事件

taphold:按住事件

二、轻扫

轻扫是指用手指或手写笔快速在屏幕上向左或向右快速滑动,会触发swipeleft事件或者swiperight事件。

<!DOCTYPE html>
<html>
<head>
<title>练习</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,
      initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" />
<link href="css/jquery.mobile-1.0.1.min.css"
      rel="stylesheet" type="text/css"/>
<script src="js/jquery-1.6.4.js"
      type="text/javascript" ></script>
<script src="js/jquery.mobile-1.0.1.js"
      type="text/javascript" ></script>
<script type="text/javascript">
	$(‘#page1‘).live(‘swiperight‘, function(){
		$.mobile.changePage(‘#page2‘);
	});
	$(‘#page2‘).live(‘swiperight‘, function(){
		$.mobile.changePage(‘#page1‘);
	});
	$(‘#page1‘).live(‘swipeleft‘, function(){
		$(‘#lnkDialog‘).click();
	});
	$(‘#page2‘).live(‘swiperleft‘, function(){
		$.mobile.changePage(‘#about‘);
	});
</script>
</head>
<body>
	<section id="page1" data-role="page">
		<header data-role="header">
			<h1>swipe事件处理</h1>
		</header>
		<div class="content" data-role="content">
			向右滑动页面进入下一页<br/>
			向左滑动页面,打开关于对话框
		</div>
		<footer data-role="footer"></footer>
	</section>
	<section id="page2" data-role="page">
		<header data-role="header">
			<h1>swipe事件处理</h1>
		</header>
		<div class="content" data-role="content">
			向右滑动页面进入前一页br/>
			向左滑动页面,打开关于对话框
		</div>
		<footer data-role="footer">
		</footer>
	</section>
	<div id="abut" data-role="dialog">
		<div data-role="header">
			<h1>关于本程序</h1>
		</div>
		<div data-role="content">
			演示swipeleft&swiperight触控事件响应
		</div>
	</div>
	<a id="lnkDialog" href="#about" data-rel="dialog" data-transition="pop" style="display:none;"></a>
</body>
</html>

上面代码中用到了一个技巧,在界面切换过程中如果需要改变切换效果,则必须使用超级链接了实现,将该链接的display属性设为none,在监听函数中调用click()方法执行界面切换,然后在链接中添加data-transition进行切换效果设置。

三、虚拟鼠标事件

事件 含义
vmouseover 触控或者滑动DOM容器之上
vmoseout 触控或者滑动离开
vmousedown 触摸或者按下
vmoseup 触摸结束或者鼠标按键释放
vclick 触摸结束或鼠标按键被释放
  vclick事件通常在vmouseup事件后300ms触发
vmousecancel 触控事件中发起mousecancel事件时触发
...... ......
...... ......
<!DOCTYPE html>
<html>
<head>
<title>练习</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,
      initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" />
<link href="css/jquery.mobile-1.0.1.min.css"
      rel="stylesheet" type="text/css"/>
<script src="js/jquery-1.6.4.js"
      type="text/javascript" ></script>
<script src="js/jquery.mobile-1.0.1.js"  type="text/javascript" ></script>
<script type="text/javascript">
	$(‘#page1‘).live(‘vmouseup‘, function(event, ui){
		alert("当前点击位置" + "\n" +
			"\npageX:" + event.pageX +   //当前HTML页面横坐标
			"\npageY:" + event.pageY +   //当前HTML页面纵坐标
			"\nscreenX:" + event.screenX +  //当前屏幕横坐标
			"\nscreenY:" + event.screenY +  //当前屏幕纵坐标
			"\nclientX:" + event.clientX +  //当前窗口区域横坐标
			"\nclientY:" + event.clientY);  //当前窗口区域纵坐标
	});
</script>
</head>
<body>
	<section id="page1" data-role="page">
		<header data-role = "header">
			<h1>vMouse事件处理</h1>
		</header>
		<div class="content" data-role="content">
			轻击页面,显示点击位置
		</div>
		<div style="height: 500px;"></div>
		内容底部
		<footer data-role="footer"></footer>
	</section>
</body>
</html>

小强的HTML5移动开发之路(52)——jquerymobile中的触控交互

时间: 2024-10-14 11:13:35

小强的HTML5移动开发之路(52)——jquerymobile中的触控交互的相关文章

HTML5移动开发之路(52)——jquerymobile中的触控交互

本文为 兄弟连IT教育 机构官方 HTML5培训 教程,主要介绍:HTML5移动开发之路(52)--jquerymobile中的触控交互 当使用移动设备进行触控操作时,最常用的就是轻击.按住屏幕或者手势操作,jQuery Mobile可以通过绑定的触控事件来响应使用者的特定触控行为. 一.轻击与按住 直接上代码(一切皆在代码中,细细品吧!) [html] view plain copy print? <!DOCTYPE html> <html> <head> <t

小强的HTML5移动开发之路(53)——jQueryMobile页面间参数传递

在单页模版中使用基于HTTP的方式通过POST和GET请求传递参数,而在多页模版中不需要与服务器进行通信,通常在多页模版中有以下三种方法来实现页面间的参数传递. 1.GET方式:在前一个页面生成参数并传入下一个页面,然后在下一个页面中进行GET内容解析. 2.通过HTML5的Web Storage进行参数传递. 3.建立当前页面变量,在前一个页面将所需传递的参数内容赋值到变量中,在后一个页面从变量中将参数取出来.(程序灵活性较弱) 一.以GET方式实现页面间参数传递 <!DOCTYPE html

小强的HTML5移动开发之路(50)——jquerymobile页面初始化过程

为了方便说明和更加直观的展示jquerymobile的页面初始化过程以及各个事件的触发过程,我绘制了一幅流程图: 图中用红色框圈起来的是界面中的事件,测试代码如下: <!DOCTYPE html> <html> <head> <title>练习</title> <meta charset="utf-8"> <meta name="viewport" content="width=

小强的HTML5移动开发之路(51)——jquerymobile中改善页面访问速度

在使用jQuery Mobile进行开发的时候可以选择单页模版和多页模版,在使用单页模版的时候从一个页面跳转到另一个页面的时候需要从服务器请求,用户会感到略有停顿.使用多页模版,可以改善页面跳转之间的流畅性,但是多个页面要一次性下载,所以下载时间变长,用户体验也会受到影响. 在基于预取技术的开发中,当第一个页面的DOM对象加载完成后,jQuery Mobile会对标记data-prefetch的链接地址进行预取操作.预取的详细过程如下: 注意:使用预取功能时,不建议给所有链接都添加data-pr

HTML5移动开发之路(42)——HTML4与HTML5文档结构比较

本文为 兄弟连IT教育 机构官方 HTML5培训 教程,主要介绍:HTML5移动开发之路(42)--HTML4与HTML5文档结构比较 一般来说,人们在书写包括HTML在内的文档时,习惯上按照类似于"章--节--小节"这样的层次结构来进行. 在HTML4中的描述方式: <html> <head> </head> <body> <h1>第一章 小强的HTML5移动开发之路</h1> <h2>1.1 HTM

HTML5移动开发之路(11)——链接,图片,表格,框架

本文为 兄弟连IT教育 机构官方 HTML5培训 教程,主要介绍:HTML5移动开发之路(11)--链接,图片,表格,框架 一.HTML是什么? HTML(hypertext mark-uplanguage)是 超文本标记语言, 主要的用处是做网页, 可以在网页上显示 文字.图像.视频.声音- HTML只能做静态网页 二.HTML发展历史 html之父-Tim Berners-Lee蒂姆·伯纳斯-李(Tim Berners-Lee)1955年6月8日出生于英国伦敦 关于详细请看:http://b

HTML5移动开发之路(13)——HTML5中的全局属性

本文为 兄弟连IT教育 机构官方 HTML5培训 教程,主要介绍:HTML5移动开发之路(13)--HTML5中的全局属性 一.accssskey  快捷键 [html] view plain copy print? <!DOCTYPE HTML> <html> <body> <a href="http://blog.csdn.net/column/details/dawanganban-html5.html" accesskey="

HTML5移动开发之路(48)——(小练习)新闻订阅系统【1】

本文为 兄弟连IT教育 机构官方 HTML5培训 教程,主要介绍:HTML5移动开发之路(48)--(小练习)新闻订阅系统[1] 一.总体设计 二.数据库设计 [sql] view plain copy print? --新闻类别表 create table  news_cate( news_cateid int primary key auto_increment, news_iconurl varchar(50), news_catname varchar(5), news_catedesc

HTML5移动开发之路(29)—— JavaScript回顾4

本文为 兄弟连IT教育 机构官方 HTML5培训 教程,主要介绍:HTML5移动开发之路(29)-- JavaScript回顾4 一.变量的作用域 JavaScript脚本的执行过程分为两个阶段: 第一阶段,js引擎()先扫描整个javascript代码.当碰到<script>时,会先创建一个全局的活动对象,将<script>中出现的变量的声明,函数的定义保存在活动对 象里面.如果碰到函数,则创建对应的局部活动对象,将函数内部的变量的声明及函数的定义保存在该活动对象里面. 第二阶段