【问题标题】:Touchstart, touchend javascript counterTouchstart, touchend javascript 计数器
【发布时间】:2016-07-13 19:56:41
【问题描述】:

是否有可能跟踪用户握住手指的时间,以及每 1 秒更改 html 中的内容。

我在一篇帖子中找到了这个示例 http://jsfiddle.net/7Z6hg/,但它是使用 keydown 的。

$(function () {
    var keyTimes = {};

    $(document).keydown(function (e) {
        if (keyTimes["key" + e.which]) {
            return false;
        }
        keyTimes["key" + e.which] = new Date().getTime();
    });

    $(document).keyup(function (e) {
        if (keyTimes["key" + e.which]) {
            var x = new Date().getTime() - keyTimes["key" + e.which];
            delete keyTimes["key" + e.which];
            $("<p />").text("Held key " + e.which + " for " + x / 1000.0 + " seconds").appendTo("div");
        }
    });
});

是否有针对触控设备的事件?

感谢您的帮助!

【问题讨论】:

    标签: javascript android ios touchscreen


    【解决方案1】:
    • 使用Date-object 获取启动事件的Date
    • 使用+(Unary plus) 获取Date-object 的时间戳
    • 除以1000 将返回seconds

    var elem = document.getElementById('elem');
    var date;
    elem.addEventListener('touchstart', function() {
      date = +new Date();
    });
    elem.addEventListener('touchend', function() {
      var diff = +new Date() - date;
      console.log((diff / 1000).toFixed(2) + ' seconds');
    });
    #elem {
      width: 100%;
      height: 200px;
      background-color: green;
    }
    &lt;div id="elem"&gt;Element&lt;/div&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-11
      • 2014-05-16
      • 2012-06-05
      • 2017-04-25
      • 1970-01-01
      • 2012-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多