TypeError:$在调用jQuery函数时不是函数
我在一个WordPress插件中有一个简单的jQuery脚本,它使用如下的jQuery包装器:
$(document).ready(function(){
// jQuery code is in here
});
我从WordPress Dashboard中调用此脚本,并在加载jQuery框架后加载它。
当我检查Firebug中的页面时,我经常收到错误信息:
TypeError:$不是函数
$(文件)。就绪(函数(){
我是否应该用这个函数包装脚本:
(function($){
// jQuery code is in here
})(jQuery);
我有这个错误不少次,我不知道如何处理它。
任何帮助将不胜感激。
默认情况下,当您在Wordpress中入队jQuery时,您必须使用jQuery
,并且不使用$
(这是为了与其他库兼容)。
你用function
包装它的解决方案可以正常工作,或者你可以用其他方式加载jQuery(但在Wordpress中这可能不是个好主意)。
如果你必须使用document.ready
,你实际上可以将$
传入函数调用:
jQuery(function ($) { ...
这应该解决它:
jQuery(document).ready(function($){
//you can now use $ as your jQuery object.
var body = $( 'body' );
});
简而言之,WordPress会在你可以运行之前运行自己的脚本,并且它们释放$
var,这样它就不会与其他库发生冲突。 这是完全合理的,因为WordPress用于各种网站,应用程序,当然还有博客。
从他们的文档:
包含在WordPress中的jQuery库设置为noConflict()模式(请参阅wp-includes / js / jquery / jquery.js)。 这是为了防止WordPress可以链接的其他JavaScript库的兼容性问题。
在noConflict()模式下,jQuery的全局$快捷方式不可用...
你可以避免这样的冲突
var jq=jQuery.noConflict();
jq(document).ready(function(){
alert("Hi this will not conflict now");
jq('selector').show();
});
链接地址: http://www.djcxy.com/p/63191.html
上一篇: TypeError: $ is not a function when calling jQuery function
下一篇: Socket.io Client for Appcelerator (Titanium Application iOS)