Javascript jquery插件未捕获类型错误:对象不是函数
我刚刚创建了我的第一个Javascript jquery插件未捕获类型错误:对象不是函数,javascript,jquery,Javascript,Jquery,我刚刚创建了我的第一个jQuery插件,非常简单,它是一个slideToggle两个Divs,代码工作正常,它可以做我想做的事情,问题是我在控制台上收到一条错误消息说: Uncaught TypeError: object is not a function 它指的是这一行代码 })(jQuery); 代码 $(function($) { $.fn.toggleDiv = function(opt) { var options
jQuery插件
,非常简单,它是一个slideToggle
两个Divs
,代码工作正常,它可以做我想做的事情,问题是我在控制台上收到一条错误
消息说:
Uncaught TypeError: object is not a function
它指的是这一行代码
})(jQuery);
代码
$(function($) {
$.fn.toggleDiv = function(opt) {
var options = $.extend({}, $.fn.toggleDiv.objectOptions, opt);
return this.each(function() {
if (options.animation == true) {
$(this).slideToggle();
} else {
$(this).toggle();
}
});
};
$.fn.toggleDiv.objectOptions = {
animation: false
};
$("button").click(function() { $("#Div1, #Div2")
.toggleDiv({animation : fa}); return false; });
})(jQuery);
有人知道是什么错误吗?我如何修复它?谢谢
(function ($) { ... })(jQuery);
如果您希望立即运行代码
或
让您的代码在文档就绪的情况下运行
您指的是$(“按钮”),因此需要文档树可用。所以使用第二个版本。一个更好的解决方案是使用jQuery函数“delegate”,如下所示:
jQuery(function ($) {
$(document).delegate("button", "click", function (ev) { ... });
});
删除第一个
$
帮助?}(jQuery)
应该是}(jQuery))代码>先删除$
谢谢Dietrich。简单明了的回答。我现在也帮了我。
jQuery(function ($) {
$(document).delegate("button", "click", function (ev) { ... });
});