首页 > 解决方案 > 检测鼠标按下多长时间

问题描述

有人可以告诉我如何监控鼠标按下的时间,以及鼠标向上显示的时间(以秒为单位)吗?

标签: javascripthtmlevent-handlingdom-eventsmouseevent

解决方案


我创建了一个CodePen,您可以在其中计算<button>元素被按住的时间。这是相关代码:

HTML:

<button id="button">click</button>

JavaScript:

(function(window, document, undefined){
    'use strict';
    var start;
    var end;
    var delta;
    var button = document.getElementById("button");

    button.addEventListener("mousedown", function(){
        start = new Date();
    });

    button.addEventListener("mouseup", function() {
        end = new Date();
        delta = (end - start) / 1000.0;
        alert("Button held for " + delta + " seconds." )
    });
})(window, document);

您可能不想alert在应用程序中使用 an,但这是一个很好的起点。您应该能够delta毫无问题地将值插入到 DOM 元素中。


推荐阅读