Drupal 不支持 jQuery 的美元符号,它会破坏我的 Facebook 吗?
Drupal does not support dollar sign for jQuery and its breaking my facebook?
当我包含 Facebook API 时,我收到错误:
Uncaught ReferenceError: $ is not defined
原因是 Drupal 7 允许:
jQuery(....
但不是
$(....
但 Facebook JS API 实际上使用
$(....
如何使 Drupal 支持 $( 注释或解决此问题的正确方法是什么?
更新
我假设这里必须有所改变:
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = '//connect.facebook.net/en_US/all.js';
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
?
How can I make Drupal support $
要使其正常工作,只需将您的代码包装在该函数中即可:
(function ($) {
//your code, now you can use "$" with no problems
})(jQuery);
这是一个 official suggestion。
不过,您也可以通过其他方式进行。例如,添加
var $ = jQuery;
在 JS 代码的开头也应该有效。
您也可以使用 jQuery Dollar 模块。
当我包含 Facebook API 时,我收到错误:
Uncaught ReferenceError: $ is not defined
原因是 Drupal 7 允许:
jQuery(....
但不是
$(....
但 Facebook JS API 实际上使用
$(....
如何使 Drupal 支持 $( 注释或解决此问题的正确方法是什么?
更新
我假设这里必须有所改变:
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = '//connect.facebook.net/en_US/all.js';
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
?
How can I make Drupal support $
要使其正常工作,只需将您的代码包装在该函数中即可:
(function ($) {
//your code, now you can use "$" with no problems
})(jQuery);
这是一个 official suggestion。
不过,您也可以通过其他方式进行。例如,添加
var $ = jQuery;
在 JS 代码的开头也应该有效。
您也可以使用 jQuery Dollar 模块。