Je suis novice en javascript et j'apprends à l'utiliser dans qualtrics. Dans mon enquête, j'ai une question qui s'affiche pendant 1500 ms et à laquelle les répondants doivent appuyer sur l'une des deux touches ('S' ou 'D') pour répondre. J'aimerais que Qualtrics enregistre le temps nécessaire aux répondants pour appuyer sur l'une de ces touches avant de passer à la question suivante et que Qualtrics ne passe pas automatiquement à la question suivante après l'appui sur une touche.
Le code ci-dessous permet de répondre en utilisant la touche 'S' ou 'D' et empêche la question d'avancer automatiquement après l'appui sur la touche. Cependant, le temps de réaction enregistré est toujours la durée de la question (1500 ms) et non le temps mis par les participants pour répondre. Si quelqu'un a une idée sur la façon dont je peux enregistrer avec précision le temps de réaction à la pression de la touche, il serait très apprécié !
Qualtrics.SurveyEngine.addOnload(function () {
this.hideNextButton();
this.hidePreviousButton();
var that = this;
Event.observe(document, 'keydown', function keydownCallback(e) {
var choiceID = null;
switch (e.keyCode) {
case 83: // 'S' was pressed
choiceID = 1;
break;
case 68: // 'D' was pressed
choiceID = 2;
break;
}
if (choiceID) {
Event.stopObserving(document, 'keydown', keydownCallback);
that.setChoiceValue(choiceID, true);
}
});
});