1。触摸事件的联系
touchstart手指在
屏幕的触发
touchmove手指移动屏幕上触发
手指离开屏幕触发touchend
touchcancel这个事件是暂时不使用时,
系统被触发时,系统停止。
小心 uff1a
1。移动终端只能由监控
功能添加,不能加上
2。在移动终端中,不要使用
鼠标事件。
3。移动事件触发
浏览器的
默认行为,所以默认行为是防止ev.preventdefault事件时调用。
演示:
Document.addEventListener('touchstart功能(EV){
Ev.preventDefault();
});
VaR箱= document.getelementbyid(盒子);
Box.addEventListener('touchstart,
函数(){(){
这'fingers .innerHTML =被压的;
});
Box.addEventListener('touchmove,函数(){(){
这.innerHTML = 'fingers感动;
});
Box.addEventListener('touchend,函数(){(){
这'fingers innerHTML =左;
});
2.touch事件对象
Ev.touches finger list for the current screen
ev.targettouches手指列出当前元素
电动汽车。changedtouches手指触发电流事件列表
每个触摸对象包含以下
属性(
打印ev.touches如下):
ClientX / / x坐标,触摸在视图的
目标。
clienty / / Y坐标,触摸在视图的目标。
仅标识触摸。
X坐标pagex / /触摸目标
网页上。
Y坐标pagey / /触摸目标网页上。
用ScreenX / /接触X坐标在屏幕上的目标。
Y坐标Screeny / /触摸屏幕上的目标。
目标触摸DOM节点。
演示:
VaR箱= document.getelementbyid(盒子);
MouseDown / 当量/
Box.addEventListener('touchstart功能(EV){
/ / console.log(EV。触动);
这.innerHTML = / / ev.touches.length;按指数
});
三.装置加速事件devicemotion
devicemotion封装运动传感器数据的事件,可以对手机移动状态下获取的运动加
速度数据。
加速度数据包含以下三个方向:
十:横向穿过手机屏幕;
y:手机屏幕的垂直渗透;
垂直手机屏幕
考虑到某些设备不排除重力,该事件返回两个属性:
1、accelerationincludinggravity(与重力加速度)
2,加速度(排除重力加速度)
注意:此事件只能放在窗口上。
刚才:
显示的重力加速度的值
Window.addEventListener('devicemotion功能(EV){
无功运动= ev.accelerationincludinggravity;箱.innerHTML = X:+运动。x ++ Y:+运动。Y ++ Z:Z +运动;
});
第2:广场沿重力
Window.addEventListener('devicemotion功能(EV){
无功运动= ev.accelerationincludinggravity;
var x = parseFloat(getcomputedstyle(箱),左); / /盒目前留下价值
箱。风格。左= x + x + 'px运动;
});
原理:应用的demo3摇
VaR箱= document.getelementbyid('box);
无功lastrange = 0; / /震动范围
无功isshake = false; / /
用户决定到底有没有抖动
Window.addEventListener('devicemotion功能(EV){
无功运动= ev.accelerationincludinggravity;
var x = math.abs(运动。×);
var y = math.abs(运动。Y);
VaR(Z = math.abs运动。Z);
变量范围为x;
如果(范围lastrange > 100){
此
条件显示用户当前处于硬摆动状态。
isshake =真;
}
如果(isshake范围<50){
此条件认为用户的抖动速率很小,它将停止。
innerHTML = 'rocked框;
isshake = false;
}
});
4。事件deviceorientation装置方向
deviceorientation封装方向传感器数据的事件,并可以在静态手机定向数据(角度、方位和方向的移动电话)。
ev.beta代表X轴的旋转角度的装置,提供一系列的180 ~ 180.it说明装置旋转前后的
情况。
ev.gamma代表在Y轴的旋转角度的装置,提供一系列的90 ~ 90.it叙述的情况,该装置转动,从左到右。
ev.alpha表示沿Z轴的旋转角度的装置,和的范围是0 ~ 360。
注意:此事件只能放在窗口上。
演示:
Window.addEventListener('deviceorientation功能(EV){
箱。innerHTML = X轴倾斜:ev.beta.tofixed +(1)+ Y轴倾斜:ev.gamma.tofixed +(1)+ Z轴倾斜:+ ev.alpha.tofixed(1);
});
5。手势手势事件
iOS的Safari还引入了一组手势。当两个手指触摸屏幕时,手势就会产生,而手势通常会改变显示项的大小,或者旋转显示项。有三个手势,如下所示:
gesturestart触发时,一个手指被压在屏幕上,其他手指触摸屏幕。
gesturechange触发时,触摸屏的任何手指的
位置变化
gestureend触发时,任何的手指从屏幕上
删除 ev.rotation代表通过手指的变化引起的旋转角度,负值代表逆时针、顺时针的积极价值,从0开始。
ev.scale代表两个手指之间的距离,从而缩短了距离,从1开始,随着距离的增加。
小心 uff1a
1。目前,手势事件
支持率超过2,超过2,而Android目前还没有得到支持。
2。必须防止浏览器的默认行为。
刚才:多指旋转
无功startdeg = 0; / /最后的旋转角度
两个或两个以上手指按
Box.addEventListener('gesturestart,函数(){(){
这个风格。
背景= '蓝色';
/ /旋转(90度)
如果(此样式。
转换){
startdeg = parseFloat(this.style.transform.split('('){ 1 });
}
});
两个或两个以上手指转换
Box.addEventListener('gesturechange功能(EV){
/ *本。风格。背景=;
这.innerHTML = ev.rotation;* /
这个风格。变换= 'rotate(+ + 'deg(EV。旋转+ startdeg));
});
两个或两个以上的手指升降机
Box.addEventListener('gestureend,函数(){(){
这个风格背景=绿色;
});
2:多指缩放
Document.addEventListener('touchstart功能(EV){
Ev.preventDefault();
});
Document.addEventListener('touchmove功能(EV){
Ev.preventDefault();
});
VaR箱= document.getelementbyid(盒子);
无功startscale = 1; / /变焦角度后
两个或两个以上手指按
Box.addEventListener('gesturestart,函数(){(){
这个风格。背景= '蓝色';
/ /旋转(90度)
如果(此样式。转换){
startscale = parseFloat(this.style.transform.split('('){ 1 });
}
});
两个或两个以上手指转换
Box.addEventListener('gesturechange功能(EV){
/ *本。风格。背景=;
这.innerHTML = ev.rotation;* /
VaR SC =规模* startscale eV;
SC = SC < 0.50.5:SC; / / 0.5
设置最小缩放
这个风格。变换=规模(+ SC + ')';
});
两个或两个以上的手指升降机
Box.addEventListener('gestureend,函数(){(){
这个风格背景=绿色;
});
以上是本文的全部内容,希望本文的内容能给大家的
学习或
工作带来一定的帮助,同时也希望能给予更多的支持!