JavaScript处理移动web交互

touch对象和touchevent
touch事件

在这里插入图片描述

touch对象

每一次发生touch事件时就会产生一个touch对象,类似事件处理函数中的事件对象。

<div class=" ">
    <button class="child" style="height: 400px; width: 400px">我是按钮</button>
</div>

<script type="text/javascript">
    //原生js中的touch时间
    var btn = document.querySelector('button');
    //触摸开始 调用
    btn.addEventListener('touchstart',function(ev){
        console.log('js start');
    })
    //触摸过程中调用
    btn.addEventListener('touchmove',function () {
        console.log('js move');
    })
    //触摸结束时调用
    btn.addEventListener('touchend',function () {
        console.log('js end');
    })
</script>
touch和click的区别

touchstart:在这个 dom 上手指触摸开始时即触发。
click:在这个 dom 上手指触摸开始,且手指未曾在屏幕上移动,且在这个 dom 上手指离开屏幕,以及触摸和离开屏幕之间的间隔时间较短才能触发。

touchlist

touchList 接口表示触摸表面上的接触点列表。例如,如果用户在触摸表面(例如屏幕或触控板)上有三个手指,则对应的 touchList 对象将为每个手指提供一个 touch 对象,总共三个条目。

touchList.item()返回列表中指定索引处的 touch 对象。
可以找到指定 touch 对象,进行相关的操作

PS:注意浏览器兼容性的问题

起点、终点、滑动方向检测

通过 touch 事件,进行初始位置以及滑动位置的判断,规定对应的移动方向。

起点与终点

起点:当开始一个 touchstart 事件的时候,获取此刻手指的横坐标 startX和纵坐标startY
终点:当开始一个 touchend 事件的时候,获取此刻手指的横坐标 startX和纵坐标startY。

方向检测
利用初始坐标点与终止坐标点进行对比判断,X 与 对比,y 与y 对比,然后根据结果比较谁移动的最多,判断具体方向

PS:注意关闭浏览器的默认事件

不要用 alert,用 console.log,alert 会阻止代码执行。
屏蔽浏览器自有事件:
在这里插入图片描述

加速度方向的检测
检测设备方向

在这里插入图片描述
选择数值:
window.orientation 的值为0表示直立90表示设备水平旋转到左边,-90表示设备水平旋转到右边。
180表示设备顺时针旋转到底部,-180表示设备逆时针旋转到底部。
在这里插入图片描述

加速度事件

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值