设置:模块的javascript文件包含以下功能:
(function ($, Drupal, undefined) {
Drupal.behaviors.mymodule = {
attach: function (context, settings) {
var userSettings = settings.mymodule;
var myFunction = userSettings.passedFunctionCallback;
function a() {
return 'a';
}
function b(){
return 'b';
}
}
}
})(jQuery, Drupal);
如果我想为变量myFunction
分配一个函数,我只需在javascript中执行此操作:
myFunction = a;
当我想通过Drupals drupal_add_js
传递此回调时出现问题:
drupal_add_js(drupal_get_path('module', 'mymodule') . '/js/module.js');
drupal_add_js(array('mymodule' => array('passedFunctionCallback' => 'a')), array('type' => 'setting'));
在我的js中,passedFunctionCallback是一个字符串而不是函数回调:
myFunction = 'a';
问题是:如何通过drupal_add_js将变量作为函数回调传递(如果可能的话)?有没有解决方法?