2

私はちょうど私の最初のものを作成しました.jQuery pluginそれは非常に単純です.コードは正常に動作し、私が望むことを行います.slideToggleDivsERROR

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);  

そのエラーが何であるか、どうすれば修正できますか

4

1 に答える 1

9

あなたはどちらかをしたいです

(function ($) { ... })(jQuery);

コードをすぐに実行したい場合は、

また

jQuery(function ($) { .... });

コードをドキュメント対応で実行できるようにします。

$("button") を参照しているため、ドキュメント ツリーを使用できるようにする必要があります。したがって、2 番目のバージョンを使用します。さらに良い解決策は、jQuery 関数の "delegate" を使用することです。これは次のようになります。

jQuery(function ($) {
    $(document).delegate("button", "click", function (ev) { ... });
});
于 2012-06-25T14:24:52.027 に答える