1

尝试将自定义 jQuery 扩展绑定到 Drupal 7 我遇到了脚本中“this”对象的问题。

我的代码被正确包装以支持没有冲突并且在drupal之外工作正常,但是drupal页面上的相同代码失败。

我将 console.log(this) 添加到我的扩展的顶部,发现在 drupal 之外,我得到了一个正确的 jQuery 对象,其中包含匹配的节点。在 drupal 中,我得到了匹配的元素。

Drupal 7 有 jQuery 1.4.4,我的代码在 jQuery 1.4.2 和 1.6.2 中运行良好。

我能做些什么呢?

4

2 回答 2

1

没有看到你的代码,很难给你一个很好的答案。不久前我遇到了一个类似(听起来)的问题,并使用这种技术在 Drupal 7 站点上包装内联 JQuery,这解决了我的问题:

(function($) {
    $(document).ready(function(){

        // Insert your code here.

    });
})(jQuery);

问题是 Drupal 7 对命名空间非常严格,并且不允许$像在 Drupal 6 中那样将默认值作为函数别名。

于 2011-07-11T03:13:48.413 回答
0

Drupal 中的另一种技术是将 jQuery 包装在其中:

jQuery(document).ready(function($) {
  // Insert code here.
});
于 2012-01-30T18:43:54.353 回答