我正在使用 jsPsych 库来编写任何实验。我对 js 很陌生,所以如果我的错误很明显,我深表歉意。
我试图让文本在输入时出现在屏幕上。在创建者将 html-keyboard-response 插件修改为 html -keyboard-multiple-response插件后,此实验成功完成。
我试图将此插件与图像键盘响应结合使用,以使用图像而不是 html 作为刺激。问题是文本在键入时不会出现,这与 html-keyboard-multiple-response 不同。我知道击键正在被记录,因为它们以 displayData() 显示在最后。
我改编的插件在这里:jspsych-image-keyboard-multiple-response.js,实验在这里:image-keyboard-multiple-response.html。
是否可以快速查看该插件,看看我在组合其他两个插件时是否编码错误?我相信错误在我的图像插件中的第 83 行附近,如下所示:
plugin.trial = function(display_element, trial) {
// display stimulus
var html = '<img src="'+trial.stimulus+'" id="jspsych-image-keyboard-multiple-response-stimulus" style="';
if(trial.stimulus_height !== null){
html += 'height:'+trial.stimulus_height+'px; '
if(trial.stimulus_width == null && trial.maintain_aspect_ratio){
html += 'width: auto; ';
}
}
if(trial.stimulus_width !== null){
html += 'width:'+trial.stimulus_width+'px; '
if(trial.stimulus_height == null && trial.maintain_aspect_ratio){
html += 'height: auto; ';
}
}
html +='"></img>';
这意味着对应于 html 插件中的 ~61 行:
plugin.trial = function(display_element, trial) {
var new_html = '<div id="jspsych-html-keyboard-multiple-response-stimulus">'+trial.stimulus+'</div>';
// add prompt
// if(trial.prompt !== null){
new_html += trial.prompt;
//}
// draw
display_element.innerHTML = new_html;
// store response
var response = {
rt: [],
key: [],
char: []
};
我应该在我的图像插件中更改什么内容,以便文本在键入时出现,就像在 html 插件中发生的那样?