移动终端基本事件综述与应用

移动终端基本事件综述与应用
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,函数(){(){
这个风格背景=绿色;
});
以上是本文的全部内容,希望本文的内容能给大家的学习工作带来一定的帮助,同时也希望能给予更多的支持!
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部