将颜色选择器/外部库添加到 jsPsych 插件

问题描述

我正在尝试创建一个 jsPsych 插件,用户可以在其中为每个刺激选择一种颜色。为此,我使用 jscolor。 jscolor 在 vanilla HTML 中运行良好,但是当我尝试将其合并到 jsPsych 插件中时,它不会加载 jscolor 库。

jsPsych.plugins["color-picker"] = (function() {

var plugin = {};

plugin.info = {
  name: "color-picker",parameters: {
  }
}

plugin.trial = function(display_element,trial) {

  display_element.innerHTML += '<input data-jscolor="">'; // <-- This should show a color picker if jscolor.js is loaded.

  // data saving
  var trial_data = {
    parameter_name: 'parameter value'
  };

  // end trial
  jsPsych.finishTrial(trial_data);
};

return plugin;   })();

我不明白为什么会发生这种情况。也许我需要在插件中加载库?添加 display_element.innerHTML += '<script src="library/jscolor.js"></script>'; 也不起作用。

如何在我的插件中实现这一点?

解决方法

您可以在主实验脚本中加载 jscolor 库,然后引用插件中的函数。

您的插件现在可能无法运行的一个原因是试用开始后立即结束,因为调用 jsPsych.finishTrial() 时无需等待用户的任何输入。

您可能希望将 jsPsych.finishTrial() 调用移动到基于用户提交包含 jscolor 输入元素的表单而调用的函数中。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...