如何检测mouseup事件上的长按,不应使用任何其他鼠标事件(严格)

$("#phone").find("button").mouseup(function(event){

我有这个 mouseup 事件,在里面我正在调用一个函数

在该函数中,我需要检测 longpress

如何实现?

谢谢

最佳答案

跟踪 mousedown 和 mouseup 之间的时间

听起来很简单,记录用户触发 mousedown 事件的时间,以及用户触发 mouseup 事件的时间。减去这两个数字并测试它们是否大于您想要的阈值

// Get the time of mouse down
var mouseDownTime;
var threshold = 1000; // 1000 milliseconds == 1 second.

$("#phone").find("button").mousedown(function(event){
    var mouseDownDate = new Date();
    mouseDownTime = mouseDownDate.getTime();
});

$("#phone").find("button").mouseup(function(event){
    var mouseUpDate = new Date();
    var mouseUpTime = mouseUpDate.getTime();
    if(mouseUpTime - mouseDownTime > threshold){
        // Code you want called after being triggered.
    }
});

关于javascript - 如何在不使用任何其他鼠标事件的情况下检测长按鼠标事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32623143/

10-09 23:51