在网上找不到一个很好的例子,所以我正在尝试更新我的插件以支持 AMD。我在令人兴奋的插件模板中添加了一些代码,但我不确定这是否正确。
有关将此添加到插件的任何信息都会很好(我仍在学习)
那么这是使用 AMD 支持的好方法吗?
;(function (factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['jquery'], factory);
} else {
// Browser globals
factory(jQuery);
}
}(function($, window, document, undefined){
//"use strict"; // jshint ;_;
var pluginName = 'coolPlugin';
function Plugin(element, options){
this.obj = $(element);
this.o = $.extend({}, $.fn[pluginName].defaults, options);
this.init();
};
Plugin.prototype = {
init: function(){
var self = this;
},
_private: function(param){
var self = this;
},
destroy: function(){
$.removeData(this.obj, this.pluginName);
}
};
$.fn[pluginName] = function(option, param) {
return this.each(function() {
var $this = $(this);
var data = $this.data(pluginName);
var options = typeof option == 'object' && option;
if (!data){
$this.data(pluginName, (data = new Plugin(this, options)))
}
if (typeof option == 'string'){
data[option](param);
}
});
};
$.fn[pluginName].defaults = {
option1: 'helloooo'
};
})(jQuery, window, document));