我的控制台抛出一个未被捕获的typeError,因为它不知道jQuery
是什么,但后来继续执行加载,并加载内容,然后我收到load complete
消息。
我有以下代码:
jQuery(function($){
$('#content-loader').load('someFile.html', function() {
console.log('load complete');
});
})();
为什么会发生这种情况,如何摆脱html文件中的错误并加载?
截至目前,someFile.html
仅包含文字,没有脚本。
(function($){
...code...
})(jQuery);
删除错误,但不加载html文件
答案 0 :(得分:2)
您基本上是在呼叫jQuery(func)();
。将函数传递给jquery可能会返回一个jquery对象,但不能返回一个可以用最后()
调用的函数。您的错误消息:jQuery(..) is not a function
因为它是jQuery调用,jQuery对象的返回,而不是函数。
尝试使用:
(function($){
...code...
})(jQuery);
这是:调用此参数$
传递jQuery
的匿名函数。
这是许多人使用的模式。
另一个快速(和奇怪)的解决方案是从包装器中删除您的上一个()
和$
参数。