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) { ... });
});