我正在尝试编写一个好的 jQuery插件结构。我试图遵循jQuery.com和其他人的“最佳实践”。
但我对原型有点困惑。
我应该使用它吗?实际结构看起来是好还是可怕?
谢谢!
(function( $ ){
var defaults = { /* ... */ },
publicMethods = {
add: function(options){
var $this = $(this);
// ...
return $this;
}
},
privateMethods = {
init: function(options) {
var $this = $(this);
return $this;
},
click: function() {
//...
}
};
$.fn.tooltip = function(method) {
var args = arguments;
$(this).each(function() {
if ( publicMethods[method] ) {
return publicMethods[ method ].apply( this, Array.prototype.slice.call( args, 1 ));
} else if ( typeof method === 'object' || ! method ) {
return privateMethods.init.apply( this, args );
} else {
$.error( 'Method ' + method + ' does not exist on jQuery.tooltip' );
}
});
};
})( jQuery );
答案 0 :(得分:1)
关于使用.prototype
函数的tooltip
,仅当工具提示函数将作为构造函数调用时才有用。
通常作为jQuery插件,您只对使用从jQuery
构造函数创建的对象感兴趣,而不是从插件函数创建自己的对象。
在插件代码中可能存在内部使用构造函数的情况,但它通常不是实际的插件函数本身。