命令限制

Restriction of command

我通过按“Enter”(在 Qualtrics 中)为进度编写了一个 JS 代码:

Qualtrics.SurveyEngine.addOnload(function() {
    var qid = this.questionId;
    document.onkeydown = function(event) {
        console.log('keydown', event);
        if (event.which == 13) {
            event.preventDefault();
            jQuery('#NextButton').click();
        }
    }
});

但是代码也影响了我不感兴趣的部分调查,参与者可以这样进行。

我得到以下建议:

如果您使用 addEventListener() 或 jQuery on() 设置事件,则可以使用 removeEventListener() 或 [=25= 在 addOnUnload() 函数中删除事件] 关闭().

但我不知道如何按照相应的方式修复代码。 也许有人可以帮我修复代码?

我将不胜感激!

执行以下操作。按键事件将仅适用于当前调查页面。

Qualtrics.SurveyEngine.addOnload(function() {
             jQuery(document).keydown(function(event) {
                            if (event.which == 13) {
                                          event.preventDefault();
                                          jQuery('#NextButton').click();
                            }
             });
             Qualtrics.SurveyEngine.addOnUnload(function() {
                            jQuery(document).off('keydown');
             });
});

.keydown() 是 .on('keydown', function()... 的快捷方式,不用 qid,所以不需要。 console.log 只是用于调试,因此您也不需要它。