jsPsych/plugins/jspsych-call-function.js
2013-10-23 13:47:08 -04:00

43 lines
939 B
JavaScript

/** July 2012. Josh de Leeuw
This plugin gives the user the ability to execute an arbitrary function
during an experiment.
Params:
"type" is "call_function"
"func" is the function that will be called
"args" is an array of arguments to pass to the function. (optional)
Data:
The return value of the function will be stored in the data.
**/
(function( $ ) {
jsPsych.call_function = (function(){
var plugin = {};
plugin.create = function(params) {
var trials = new Array(1);
trials[0] = {
"type": "call_function",
"func": params["func"],
"args": params["args"] || []
}
return trials;
}
plugin.trial = function(display_element, block, trial, part)
{
var return_val = trial.func.apply({}, [trial.args]);
if(return_val){
block.data[block.trial_idx] = return_val;
}
block.next();
}
return plugin;
})();
})(jQuery);