【问题标题】:get time when user presses the key获取用户按键的时间
【发布时间】:2012-09-07 03:32:37
【问题描述】:

我真的很感激,如果有人可以帮助我,我已经被这个问题困扰了几天,谷歌和其他 stackoverflow 答案似乎没有帮助。

我有一个带有模拟时钟的网络应用程序,我需要能够从时钟中获取用户按下键盘的时间并将其与他们输入的时间进行比较,我可以通过表单,但我无法理解如何获得实际的按键时间。

为了确保我走在正确的轨道上,我是否可以在每个任务页面中放入一个 for 循环,例如:

    var i = 0; 
    for (i = 0; i < 40; i ++){

         //Add user input from form into an array

         //Add actual key press time in an array


         //Show next task link after the 40 trials are complete

         document.getElementById('nextTask').style.visibility="visible";
         document.getElementById('nextTask').style.display="block";
      } 

有 120 次试验,分 3 个独立的任务。

其中 1 个没有声音。

另外两个有声音,但只有 50% 和 75% 的时间会发出哔哔声,而在其他时候则不会..(我仍然在这方面苦苦挣扎.. 但我稍后会解决这个问题,哈哈.)

最后一点,我是否能够仅使用一个网页运行 40 次试验,或者我是否必须为整个任务创建 40 X 3 个单独的页面。

我创建了一个 JSFiddle,我对整个想法还是陌生的,所以如果我犯了错误,请告诉我。 http://jsfiddle.net/StrangeLondoner/ymXeG/

时钟在随机数毫秒后停止,要按的两个键是 s 和 k。

感谢您抽出宝贵时间阅读此问题,并希望能以某种方式帮助我找到解决方案。

完成

大家好,感谢您的意见。我想我会让你们知道我做了什么,以及是否有其他人正在寻找类似的答案。它可能有点原始,但我创建了一个相同的计数器,并与时钟同时运行,我知道性能方面这并不理想,但我想这将不得不做,直到我想出一个更好的解决方案。我想我必须让它以某种方式工作。

无论如何,谢谢。如果我能找到更好的解决方案,我会更新这个。

【问题讨论】:

  • 您可以构造一个 JavaScript Date 对象并从中获取时间。只需var timestamp = new Date().getTime();
  • 当然不是超级准确。
  • @Pointy 问题是我需要时钟的时间,因为时钟每 2.5 秒转 1 圈
  • 啊——你可以让你的时钟在每次更新时记录它的位置,以及当时的时间戳,然后按键处理程序可以检查时间并推断时钟位置。也许吧。

标签: javascript html clock


【解决方案1】:

获取系统时钟并根据您的时钟指示进行匹配。这将是最准确的,因为您的时钟可能会滞后于系统负载。 (当然,尝试获得按键也可以,但至少可以将伤害降到最低。)

Javascript 是一种糟糕的实时处理语言。

【讨论】:

    【解决方案2】:

    我会试试这个 jQuery。它可能对您正在做的事情有用。

    $(document).keydown(function(f){
    
    if (f.keycode == 83 || f.keycode == 75) //key codes for s and k
    {
        var d = new Date();
        var n = d.getTime();  // n now equals the number of milliseconds since January 1, 1970;
    }
    
    doSomethingWithTheTime(n); //Here you would call a function to store or compare your time.
    
    return false;
    
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-02
      相关资源
      最近更新 更多