/ / Prečo Drupal neuznáva moju funkciu javascript? - javascript, drupal-7

Prečo Drupal neuznáva moju funkciu javascript? - javascript, drupal-7

Prečo nefunguje nasledujúci postup:

(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);

Mám túto chybu: TypeError: $ (...) Drupal je nedefinovaný

Ak používam inú architektúru, ako je posun voliča ako argument pre funkciu, ktorá funguje:

(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);

Tiež funguje, ak deklarujem funkciu v objekte jQuery.fn:

$.fn.doStuff = function(){...do something...};  // It works

Potom ho zavolajte takto:

$("#my-div").doStuff(); // It works

Ale chcem to uviesť pod Drupal.my_module, niečo viac ako prvý prípad.

Akékoľvek náznaky? Vďaka!

odpovede:

1 pre odpoveď č. 1
$("#some-div").Drupal.my_module.doStuff();

Drupal nie je platná jQuery metóda alebo vlastnosť, preto undefined chyba.