移动端触控事件

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>移动终端</title>
<script>
window.onload=function(){

var startx = 0,i=1;
var starty = 0;
var endx = 0;
var endy = 0;

mobile(up,down,left,right);//滑动的顺序依次是上下左右,不要的就补false。

function up(){
alert(‘你刚才向上移动了‘)
}
function down(){
alert(‘你刚才向下移动了‘)
}
function left(){
alert(‘你刚才向左移动了‘)
}
function right(){
alert(‘你刚才向右移动了‘)
}

function mobile(up,down,left,right){

document.addEventListener(‘touchstart‘,function(event){ //触控开始

startx = event.touches[0].pageX;
starty = event.touches[0].pageY;

},false);

document.addEventListener(‘touchmove‘,function(event){
event.preventDefault();
console.log(event.touches[0].pageX,event.touches[0].pageY);
},false);

document.addEventListener(‘touchend‘,function(event){ //触控结束

endx = event.changedTouches[0].pageX;
endy = event.changedTouches[0].pageY;

var deltax = endx - startx;
var deltay = endy - starty;

//当滑动的距离小于30px的时候不做滑动
if( Math.abs( deltax ) < 30 && Math.abs( deltay ) < 30 )
return;
// 当滑动的X轴距离大于,Y轴的滑动距离->则是水平滑动,否则就是垂直滑动
if( Math.abs( deltax ) >= Math.abs( deltay ) )
{
if( deltax > 0 )//触控结束的X轴坐标大于触控开始的X轴坐标就是向右滑动,否则就是向左滑动
{
//move right
right();
}
else
{
//move left
left();
}
}
else{
if( deltay > 0 )//触控结束的Y轴坐标大于触控开始的Y轴坐标就是向下滑动,否则就是向上滑动(这里要注意移动设备上的Y轴的正坐标是向下的。)
{
//move down
down();
}
else
{
//move up
up();
}
}
},false);
}
};

</script>

</head>

<body>
</body>
</html>

时间: 2024-07-31 21:11:47

移动端触控事件的相关文章

舌尖上的安卓(android触控事件机制学习笔记录)

对于一个"我们从来不生产代码,我们只是大自然代码的搬运工"的码农来说.对android的触控机制一直是模棱两可的状态,特别是当要求一些自定义的控件和androide的自带控件(比如ViewPager,ListView,ScrollView)高度嵌套在一起使用时. 花了点时间梳理了下,做个笔记.对于一个触控的事件从用户输入到传递到Actigvity到最外层的Viewgroup在到子View,中间过程还可能穿插多个Viewgroup,android在ViewGroup提供了3个方法来控制流

Android触控事件

触控事件 MotionEvent类: //单击触摸按下动作 public static final int ACTION_DOWN = 0; /** * Constant for {@link #getActionMasked}: A pressed gesture has finished, the * motion contains the final release location as well as any intermediate * points since the last d

微信小程序之触控事件(四)

>>>什么是事件 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. 事件对象可以携带额外信息,如id, dataset, touches. >>>事件分类 touchstart 手指触摸 touchmove 手指触摸后移动 touchcancel 手指触摸动作被打断,如弹窗和来电提醒 touchend 手指触摸动作结束 tap 手指触摸后离开 longtap 手指触摸

WPF 中如何屏蔽多点触控事件?

由于项目中还没有更好的多点触控思路,所以需要将多点触控暂时关闭: 关闭多点触控的代码只有一行: ? private void image_ManipulationStarting(object sender, ManipulationStartingEventArgs e) { e.Mode = ManipulationModes.None;  } 留个记录,以备日后用; 但是,ManipulationModes.None并不是乱用的,详情参照MSDN: http://msdn.microsof

GridView(网格视图)+MotionEvent(触控事件)实现可以拖动排序的网格图

1.一触碰,就回调onInterceptTouchEvent(MotionEvent ev)事件,每次的触碰都只回调一次,接着只要还没有放手,就一直回调onTouchEvent(MotionEvent ev)事件. 2.监听长按点击事件,如果长按点击,则将图片放大,拖动显示的也是这张放大的图片,在onTouchEvent(MotionEvent ev)中判断MotionEvent 事件的类型,如果是拖动操作,则根据拖动的位置,用windowManager.updateViewLayout(dra

关于UI的屏幕触控事件示例

------视图控制器的.m中------------ @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UIView *gestureView = [[UIView alloc]initWithFrame:CGRectMake(20, 50, 335, 400)]; gestureView.backgroundColor = [UIColor purpleColor]; [self.view ad

手指多点触控事件

1 package com.itheima.touch; 2 3 import android.app.Activity; 4 import android.graphics.Matrix; 5 import android.graphics.PointF; 6 import android.os.Bundle; 7 import android.view.MotionEvent; 8 import android.view.View; 9 import android.view.View.On

cocos creator Touch事件应用(触控选择多个子节点)

最近参与了cocos creator的研究,开发小游戏,结果被一个事件坑得不行不行的.现在终于解决了,分享给大家. 原理 1.触控事件是针对节点的 2.触控事件的冒泡,是直接关系冒泡,父子可以,孙子不行,就是不能隔代冒泡 3.父节点不响应触控事件,肯定是被孩子节点遮挡了,只要孩子节点也监听一下事件,父节点就可以响应了 4.触控位置是绝对坐标,相对于整个canvas,节点位置相对于父节点,相对位置可以与绝对坐标相互转化 5.节点是否被触控到,touch start事件可以肯定被触摸到,但是一个节点

windows phone 8.1开发:触控和指针事件1

原文出自:http://www.bcmeng.com/windows-phone-touch/ UIElement类的触控事件: ManipulationStarting:当用户将手指放在 IsManipulationEnabled 属性设置为true的元素上时,将在该元素上发生 ManipulationStarting 事件.即在触控操作开始之前引发. ManipulationStarted:在触控操作开始之后引发. ManipulationInertiaStarting:当触控操作终止并开始