js-移动端触屏事件

一、移动端触屏事件

1. touchstart:手指触碰到屏幕

document.addEventListener('touchstart',function() {
    console.log('I touch you');
})

2. touchmove:手指在屏幕上滑动

document.addEventListener('touchmove',function() {
    console.log('move');
})

3. touchend:手指离开屏幕

document.addEventListener('touchend',function() {
    console.log('leave');
})

二、TouchEvent 触摸事件对象

1. touches:正在触屏的所有手指的列表

2. targetTouches:正在被触摸的DOM元素上的手指列表(用的较多)

3. changedTouches:手指状态发生了改变的列表

三、拖动元素案例

var box = document.querySelector('.box');
var oddX = 0;
var oddY = 0;
var x = 0;
var y = 0;
box.addEventListener('touchstart', function(e) {
    oddX = e.targetTouches[0].pageX;
    oddY = e.targetTouches[0].pageY;
    x = this.offsetLeft;
    y = this.offsetTop;
})
box.addEventListener('touchmove', function(e) {
    e.preventDefault(); // 阻止滚动屏幕
    var moveX = e.targetTouches[0].pageX - oddX;
    var moveY = e.targetTouches[0].pageY - oddY;
    this.style.left = x + moveX + 'px';
    this.style.top = y + moveY + 'px';
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值