欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-08-11 12:18:17
当使用移动设备进行触控操作时,最常用的就是轻击、按住屏幕或者手势操作,jQuery Mobile可以通过绑定的触控事件来响应使用者的特定触控行为。一、轻击与按住直接上代码(一切皆在...

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

一、轻击与按住

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



练习



<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>


	
		
			Tap事件处理
		
		

轻击页面进入下一页
按住不放,打开关于对话框

Tap事件处理

轻击页面返回前一页

关于本程序

演示轻击触控事件响应

tap:轻击事件

taphold:按住事件

二、轻扫

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



练习



<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>


	
		
			swipe事件处理
		
		

向右滑动页面进入下一页
向左滑动页面,打开关于对话框

swipe事件处理

向右滑动页面进入前一页br/> 向左滑动页面,打开关于对话框

关于本程序

演示swipeleft&swiperight触控事件响应

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

三、虚拟鼠标事件

事件 含义
vmouseover 触控或者滑动DOM容器之上
vmoseout 触控或者滑动离开
vmousedown 触摸或者按下
vmoseup 触摸结束或者鼠标按键释放
vclick 触摸结束或鼠标按键被释放
vclick事件通常在vmouseup事件后300ms触发
vmousecancel 触控事件中发起mousecancel事件时触发
...... ......
...... ......


练习



<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>


	
		
			vMouse事件处理
		
		

轻击页面,显示点击位置

内容底部