使用javascript在不前进的情况下使用按键记录qualtrics中的反应时间

使用javascript在不前进的情况下使用按键记录qualtrics中的反应时间,javascript,jquery,qualtrics,Javascript,Jquery,Qualtrics,我是javascript新手,正在学习如何在qualtrics中使用它。在我的调查中,我有一个问题设置为显示1500毫秒,受访者必须按下两个键(“S”或“D”)中的一个键才能做出回答。我想要的是Qualtrics记录受访者在进入下一个问题之前敲打其中一个键所花的时间,并且Qualtrics不会在按键后自动进入下一个问题 下面的代码允许使用“S”或“D”键进行回答,并防止问题在按键后自动进行。然而,记录的反应时间始终是问题的持续时间(1500毫秒),而不是参与者回答问题所需的时间。如果有人对我如何

我是javascript新手,正在学习如何在qualtrics中使用它。在我的调查中,我有一个问题设置为显示1500毫秒,受访者必须按下两个键(“S”或“D”)中的一个键才能做出回答。我想要的是Qualtrics记录受访者在进入下一个问题之前敲打其中一个键所花的时间,并且Qualtrics不会在按键后自动进入下一个问题

下面的代码允许使用“S”或“D”键进行回答,并防止问题在按键后自动进行。然而,记录的反应时间始终是问题的持续时间(1500毫秒),而不是参与者回答问题所需的时间。如果有人对我如何准确记录按键反应时间有任何想法,我将不胜感激

Qualtrics.SurveyEngine.addOnload(函数(){
this.hideNextButton();
this.hidePreviousButton();
var=这个;
观察事件(文档“keydown”,函数keydownCallback(e){
var choiceID=null;
开关(如钥匙代码){
案例83://“S”被按下
choiceID=1;
打破
案例68://“D”被按下
choiceID=2;
打破
}
如果(选择ID){
事件。停止观察(文档'keydown',keydownCallback);
setChoiceValue(choiceID,true);
}
});

});请尝试使用以下代码:

Qualtrics.SurveyEngine.addOnload(函数(){
让timeOnLoad=newdate().getTime();
this.hideNextButton();
this.hidePreviousButton();
var=这个;
观察事件(文档“keydown”,函数keydownCallback(e){
var choiceID=null;
开关(如钥匙代码){
案例83://“S”被按下
choiceID=1;
打破
案例68://“D”被按下
choiceID=2;
打破
}
如果(选择ID){
让timetake=newdate().getTime()-timeOnLoad;
console.log(耗时);
事件。停止观察(文档'keydown',keydownCallback);
setChoiceValue(choiceID,true);
}
});

});看一下文档,我想这就可以了

Qualtrics.SurveyEngine.addOnload(函数(){
var startTime=new Date().getTime();
this.hideNextButton();
this.hidePreviousButton();
var=这个;
观察事件(文档“keydown”,函数keydownCallback(e){
var choiceID=null;
开关(如钥匙代码){
案例83://“S”被按下
choiceID=1;
打破
案例68://“D”被按下
choiceID=2;
打破
}
如果(选择ID){
让reactionTime=new Date().getTime()-startTime;
事件。停止观察(文档'keydown',keydownCallback);
setChoiceValue(choiceID,true);
setEmbeddedData('reactionTime',reactionTime);
}
});

});