我一直在使用以下样板来进行jQuery插件开发,该开发工作非常好。但我不确定将“方法”公之于众的最好方法。
;(function ( $, window, undefined ) {
var pluginName = 'defaultPluginName',
document = window.document,
defaults = {
propertyName: "value"
};
function Plugin( element, options ) {
this.element = element;
this.options = $.extend( {}, defaults, options) ;
this._defaults = defaults;
this._name = pluginName;
this.init();
}
Plugin.prototype.init = function () {
};
$.fn[pluginName] = function ( options ) {
return this.each(function () {
if (!$.data(this, 'plugin_' + pluginName)) {
$.data(this, 'plugin_' + pluginName, new Plugin( this, options ));
}
});
}
}(jQuery, window));
由于
答案 0 :(得分:1)
只有函数可以是私有/本地,而不是jQuery插件。
如果您正在使用jQuery并尝试在jQuery中添加自己的(自定义)函数,则有一种最佳方式jQuery.fn.yourFunctionname = function(){}
,因为jQuery已经在公共范围内,因此jQuery.fn.yourFunctionname
是公共范围(无论您在何处定义插件,都可以在全球范围内使用。)
window.jQuery = jQuery;
$.fn.pluginName = function ( options ) {
return this.each(function () {
// code goes here
});
}