我有一个简单的插件,其中包含初始化、关闭和打开功能。我有一组调用这个插件的 html 模板。仅对于某些模板,我想对这个插件做一些稍微不同的行为,比如说在打开函数中添加一个不同的类,并在关闭时删除同一个类。什么是优雅的做法?我应该找到 html 的 id 并在同一个插件的 open 和 close 函数中执行 if else 还是有更好的方法来做到这一点?
;(function ($, window, document, undefined) {
function Plugin(element, options) {
Window = this;
this.element = element;
this._name = pluginName;
this.init(element);
}
Plugin.prototype = {
init: function(element) {
},
close:function(e){
//removes a class and hides the element
},
open:function(element){
//adds a class and shows the element
}
}
//Extend Global jQuery (where we actually add the plugin!)
$.fn[pluginName] = function (options) {
plugin = $.data(window, 'plugin_' + pluginName);
if (!(plugin instanceof Plugin)) {
$.data(window, 'plugin_' + pluginName,
plugin = new Plugin( this, options ));
}
return $Extend(this).each(function () {
$.data(this, 'plugin_' + pluginName, plugin);
});
};
}(jQuery, window, document));