【发布时间】:2013-03-13 15:06:13
【问题描述】:
为什么以下不起作用:
(function($){
Drupal.my_module = {};
Drupal.behaviors.my_module = {
attach: function(context, settings) {
$('#some-div').Drupal.my_module.doStuff();
}
};
Drupal.my_module.doStuff = function(){
this.append('Hello World');
}
})(jQuery);
我收到此错误:TypeError: $(...).Drupal is undefined
如果我使用另一种架构,例如将选择器作为参数传递给它可以工作的函数:
(function($){
Drupal.my_module = {};
Drupal.behaviors.my_module = {
attach: function(context, settings) {
Drupal.my_module.doStuff($('#some-div'));
}
};
Drupal.my_module.doStuff = function(elem){
elem.append('Hello World');
}
})(jQuery);
如果我在 jQuery.fn 对象中声明函数,它也可以工作:
$.fn.doStuff = function(){...do something...}; // It works
然后这样称呼它:
$('#my-div').doStuff(); // It works
但我想把它放在 Drupal.my_module 下,更像是第一种情况。
有什么线索吗? 谢谢!
【问题讨论】:
标签: javascript drupal-7