尝试将自定义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中运行良好。
我该怎么办?
答案 0 :(得分:1)
如果没有看到您的代码,很难给出一个很好的答案。我在前一段时间遇到类似(听起来)的问题并使用这种技术在Drupal 7网站上包装内联JQuery,这解决了我的问题:
(function($) {
$(document).ready(function(){
// Insert your code here.
});
})(jQuery);
问题在于Drupal 7对命名空间是严格的,并且不允许默认的$
作为函数别名,就像你在Drupal 6中所做的那样。
答案 1 :(得分:0)
Drupal中的另一项技术是将jQuery包装在其中:
jQuery(document).ready(function($) {
// Insert code here.
});