javascript - 为什么 Drupal 无法识别我的 javascript 函数?

标签 javascript drupal-7

为什么以下内容不起作用:

(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 未定义

如果我使用另一种架构,例如将选择器作为其工作函数的参数传递:

(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 下,更像第一种情况。

有什么线索吗? 谢谢!

最佳答案

$('#some-div').Drupal.my_module.doStuff(); 

Drupal 不是有效的 jQuery 方法或属性,因此会出现 undefined 错误。

关于javascript - 为什么 Drupal 无法识别我的 javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15389005/

相关文章:

javascript - 从浏览器内置的查找功能中隐藏 DIV 元素

javascript - 为什么立方体比正方形快

javascript - 打印所有mongoDB数据到字符串nodejs

drupal-7 - .install 文件不在 drupal 中创建表

javascript - 多次更改一张图片的边框

php - 从看门狗将值插入到表中

javascript - .join ("\n") 未使用 Vue CLI 在 JavaScript 数组中创建新行

javascript - 如何检查 html 页面上是否已加载 google 标签

php - PayPal SANDBOX 是否为您返回生产网址?

php - 如何强制 Drupal ImageCache 在上传时创建图像样式,而不是在第一个图像请求时?