我想使用jQuery.fn.extend在我的视图中注册一个函数。因此,我在Asp MVC3应用程序的_Layoyt.cshtml文件中定义了它。以下是该代码。

<script type="text/javascript">
    $.fn.extend({
            tagBox :function(options) { }
        });
</script>


在我看来,我使用以下代码来调用该方法

$(document).ready(function () {
       $('.tags').tagBox({ maxTagCount: 5, initialTags: [] });
   });


但是当我用chrome检查页面时看到错误


未捕获的TypeError:对象[object Object]没有方法'tagBox'
d.extend._Deferred.f.resolveWithjquery-1.5.1.min.js:19
d.extend.readyjquery-1.5.1.min.js:19 c.addEventListener.A


我在这里做错了什么?

最佳答案

我认为您对$.fn.extend$.extend的用途感到困惑。这些用于将一个对象的值覆盖到另一个对象,并确保为该属性定义一个值。我认为您正在寻找的是一个jQuery插件。这是一个壳。

(function($){

    var _defaults = {
        your:"defaults",
        you:"Want to extend"
    };

    $.fn.tagBox = function(options){

        var _opts = $.extend({}, _defaults, options);

        return this.each(function(){

        });
    };
})(jQuery);


This article在我刚开始学习如何编写它们时就教会了我很多基础知识,并且我经常以该示例为基础。

关于jquery - jQuery.fn.extend,MVC3没有方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8753498/

10-12 02:43