Joc*_*ung 33 javascript jquery drupal drupal-7
我正在编写自己的Drupal 7模块,并喜欢在其中使用JQuery.
$('#field').toggle();
Run Code Online (Sandbox Code Playgroud)
但是我收到了这个错误:
TypeError: Property '$' of object [object DOMWindow] is not a function
Run Code Online (Sandbox Code Playgroud)
似乎没有加载JQuery.否则应定义$.
虽然我实际上将它包含在标题中:
<script type="text/javascript" src="http://rockfinder.de/misc/jquery.js?v=1.4.4"></script>
Run Code Online (Sandbox Code Playgroud)
我是否还必须在Drupal中激活JQuery?是否被Drupal覆盖?
Eat*_*ton 89
通过在现有代码周围添加一个小包装器,Javascript应该与jQuery之外的其他库兼容:
Run Code Online (Sandbox Code Playgroud)(function ($) { // Original JavaScript code. })(jQuery);
$ global将不再引用jquery对象.但是,使用这种结构,局部变量$将引用jquery,允许您的代码通过$访问jQuery,而代码不会与使用$ global的其他库冲突.
您也可以在代码中使用'jQuery'变量而不是$ variable.
And*_*ech 14
根据Firebug,您的jQuery文件正在加载:
但是$
被其他东西覆盖了:
你应该做的是使用$
一个函数封装变量的使用,该函数使用jQuery
对象作为第一个实际参数来调用自身:
(function ($) {
// in this function, you can use the $ which refers to the jQuery object
}(jQuery));
Run Code Online (Sandbox Code Playgroud)
小智 8
有可能你的脚本没有这样初始化,你必须使用Drupal.behaviors.YOURTHEMENAME
(function ($) {
Drupal.behaviors.YOURTHEMENAME = {
attach: function(context, settings) {
/*Add your js code here*/
alert('Code');
}
};
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
59630 次 |
最近记录: |