移动端常用事件

touchstart 与 click

touchstart : 触摸开始事件,当手指接触屏幕上的一刹那,触发该事件。
click: PC端点击事件,在移动端也可以使用,不过会有200ms延迟,一般不建议使用。

	var box = document.getElementById("touchstart");
    box.addEventListener("touchstart", function (e) {
        //e.preventDefault()      //阻止鼠标事件触发
       console.log('touchstart'); 
    });
     box.addEventListener("click", function (e) {
       console.log('click'); 
    });

在这里插入图片描述
看到控制台,touchstart先执行,而click要等一小段时间才执行(肉眼可见);
如果不想让click触发,阻止默认事件就可:e.preventDefault()

touchmove

手指在某区域持续滑动,会触发该事件

box.addEventListener("touchmove", function (e){
        //do something
})

使用该事件时切记要做好函数节流,毕竟移动端性能有限,函数防抖与节流详见我上篇文章 函数防抖与节流

touchend

某区域内触摸事件结束的一刹那触发该事件,或称手指抬起的一瞬间。

// touchend触摸结束
    box.addEventListener("touchend", function (e){
        console.log('touchend事件');
    })

touchEvent

TouchEvent是一个对象,在做移动端业务或功能需求的时候,经常会用到。可以试着打印一下,看它里面有些什么

box.addEventListener('touchstart', function(e) {
    console.dir(e); // 查看TouchEvent对象的属性和方法
});

打印结果
在这里插入图片描述
重点讲一下这三个常用的
changedTouches:一个 TouchList 对象,包含了代表所有从上一次触摸事件到此次事件过程中,状态发生了改变的触点的 Touch 对象。做移动端滑动事件会用到。

targetTouches:一个 TouchList 对象,是包含了如下触点的 Touch 对象:触摸起始于当前事件的目标 element 上,并且仍然没有离开触摸平面的触点。

touches:一 个 TouchList 对象,包含了所有当前接触触摸平面的触点的 Touch 对象,无论它们的起始于哪个 element 上,也无论它们状态是否发生了变化。多指操作,获取多个触点会用到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欧阳呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值