模拟长按事件

如果你想在监测到用户在微信浏览器中长按图片的动作并进行统计,可以使用以下方法:

let $div = document.getElementById('divContent');
let startTime = 0;
$div.addEventListener('touchstart', function () {
    startTime = +new Date();
})
$div.addEventListener('touchend', function () {
    let endTime = +new Date();
    if (endTime - startTime > 600) {
        //你的操作
    }
})

但是这种方法在安卓微信浏览器中,当touchstart事件持续到弹出选择框后,touchend事件会被中断,所以可以采取下一种方法:

let $div = document.getElementById('divContent');
let startTime = false;
$div.addEventListener('touchstart', function () {
    startTime = true;
    setTimeout(function(){
        if (startTime) {
            console.log('已长按')
        } else {
            console.log('没长按')
        }
        startTime = false;
    }, 500)
})
$div.addEventListener('touchend', function () {
    startTime = false;
})
$div.addEventListener('touchmove', function () {
    startTime = false;
})

你可能感兴趣的:(模拟长按事件)