Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
任何按键的Javascript反应时间测量(非鼠标点击)_Javascript_Qualtrics - Fatal编程技术网

任何按键的Javascript反应时间测量(非鼠标点击)

任何按键的Javascript反应时间测量(非鼠标点击),javascript,qualtrics,Javascript,Qualtrics,我对javascript非常陌生,并尝试将其用于资格认证 我正在设置一个调查问卷,参与者必须填写一个打开的文本框,我想测量第一次按键(而不是第一次用鼠标点击)的反应时间。根据我从其他查询中收集的信息,我复制了下面的mishmash脚本 Qualtrics.SurveyEngine.addOnload(function () { let timeOnLoad = new Date().getTime(); var that = this; Event.observe(document,

我对javascript非常陌生,并尝试将其用于资格认证

我正在设置一个调查问卷,参与者必须填写一个打开的文本框,我想测量第一次按键(而不是第一次用鼠标点击)的反应时间。根据我从其他查询中收集的信息,我复制了下面的mishmash脚本

Qualtrics.SurveyEngine.addOnload(function () {
  let timeOnLoad = new Date().getTime();
  var that = this;
  Event.observe(document, 'keydown', function keydownCallback(e) {
    var choiceID = e.keyCode;
    if (choiceID) {
      let timeTaken = new Date().getTime() - timeOnLoad;
      console.log(timeTaken);
      Event.stopObserving(document, 'keydown', keydownCallback);
      that.setChoiceValue(choiceID, true);
    }
  });
});
显然,它没有起作用。因此,我想看看是否有人能帮我写一个脚本,在这个脚本中,页面加载和第一次按键(键盘上的任何键)之间的时间都会记录到数据文件中


谢谢大家!

它怎么不起作用?你犯了什么错误?只是点击事件也在计数吗?你的console.log打印了什么吗?很小,但是你可以使用
Date.now()
而不是
new Date.getTime()
(如果你介意的话,在IE9中不工作)谢谢你的回复。问题是第一次按键(在键盘上)的时间没有记录到qualtrics数据文件中。然而,第一次鼠标点击被记录在它的计时功能中。它怎么会不起作用呢?你犯了什么错误?只是点击事件也在计数吗?你的console.log打印了什么吗?很小,但是你可以使用
Date.now()
而不是
new Date.getTime()
(如果你介意的话,在IE9中不工作)谢谢你的回复。问题是第一次按键(在键盘上)的时间没有记录到qualtrics数据文件中。但是,第一次鼠标单击将记录在其计时功能中。