首页 > 建站教程 > JS、jQ、TS >  JS手机端移动端长按longtap事件正文

JS手机端移动端长按longtap事件

    移动端并没有所谓的longtap事件,即长按事件。但是,有时候会用到,只能借助touchstart、touchmove、touchend三个事件以及延迟setTimeout来模拟一个longtap,下面就是代码(jQuery和zepto皆可使用,原生js也非常简单,就不写出来了):
$("#target").on({  
    touchstart: function(e) {
        // 长按事件触发  
        timeOutEvent = setTimeout(function() {  
            timeOutEvent = 0;  
            alert('你长按了');  
        }, 400);  
        //长按400毫秒   
        // e.preventDefault();    
    },  
    touchmove: function() {  
        clearTimeout(timeOutEvent);  
        timeOutEvent = 0;  
    },  
    touchend: function() {  
        clearTimeout(timeOutEvent);  
        if (timeOutEvent != 0) {  
            // 点击事件  
            // location.href = '/a/live-rooms.html';  
            alert('你点击了');  
        }  
        return false;  
    }  
})