我想使用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/