使用JavaScript记录qualtrics中的按键

使用JavaScript记录qualtrics中的按键,javascript,keypress,qualtrics,Javascript,Keypress,Qualtrics,我在qualtrics中运行IAT,由于他们切换到新引擎,我的JavaScript无法工作。我不太懂JavaScript,也不知道如何让人们通过按住shift键和z键移动到下一部分。现在,我有以下代码: Qualtrics.SurveyEngine.addOnload(function() { this.disableNextButton(); this.disablePreviousButton(); this.hideNextButton(); this.hi

我在qualtrics中运行IAT,由于他们切换到新引擎,我的JavaScript无法工作。我不太懂JavaScript,也不知道如何让人们通过按住shift键和z键移动到下一部分。现在,我有以下代码:

Qualtrics.SurveyEngine.addOnload(function()
{
    this.disableNextButton();
    this.disablePreviousButton();
    this.hideNextButton();
    this.hidePreviousButton();
    this.hideChoices();

    var that = this;
    (function(){that.clickNextButton();}).delay(5);
});
最后两行是不起作用的。现在,正如它所写的,它会延迟5秒,然后自动前进。但是,我希望它能让人们在按下shift+z时继续前进(ClickNext按钮功能)。有人能帮我吗

更新:

这似乎很管用,但我需要同时记录两个键,不知道如何记录。更重要的是,当我按一次z键时,它似乎会自动记录下来,并自动通过多个问题

Qualtrics.SurveyEngine.addOnload(function()
{
    this.disableNextButton();
    this.disablePreviousButton();
    this.hideNextButton();
    this.hidePreviousButton();
    this.hideChoices();

    var that = this;
    Event.observe(document, 'keydown', function keydownCallback(e) {
        if(e.keyCode == 90) {
        that.clickNextButton();
        }
    }); 
});

你只能浏览网页,不能提问。使用这种方法,每页需要一个问题

您可以使用“或”、“else if”或“switch”处理多个按键代码。因为只有两个,所以“或”可能是最简单的:

Event.observe(document, 'keydown', function keydownCallback(e) {
    if(e.keyCode == 90 || e.keyCode == 89) {
    that.clickNextButton();
    }
});

因为这个答案并不能完全解决你的问题,你应该编辑你原来的帖子,而不是添加这个作为答案。对不起!以前从未使用过堆栈溢出,但感谢您的建议!