常用的jquery模板插件——jQuery Boilerplate介绍

2020-05-22 15:14:24易采站长站整理

// 防止产生多个实例
$.fn[ pluginName ] = function ( options ) {
this.each(function() {
if ( !$.data( this, "plugin_" + pluginName ) ) {
$.data( this, "plugin_" + pluginName, new Plugin( this, options ) );
}
});

// 方便链式调用
return this;
};

})( jQuery, window, document );

上面的模板是一个轻量级的基础模板,在开发中已经能满足我们大部分需求,例如:对象只实例化一次,链式调用、默认参数、以及公有和私有方法的调用。来看一个示例:

http://jsfiddle.net/mirandaasm/wjPvF/3/

但是在实际开发中,尤其在有一定规模的组件开发中,我们还面临着很多问题需要解决,比如命名空间的冲突、插件的可扩展性以及公有方法如何方便的调用?当然还有一部分是个人爱好的原因,我就喜欢使用其他模式的开发方式。这里jQuery Boilerplate也提供了几种不同模式的组件开发方式,你可以选择一个适合你的使用:

轻量级(基础)模式 为初学者提供的一个简单通用的基础模板,包括基础的默认对象、简单的构造函数、默认参数和传递参数的合并以及防止对象多次实例化的构造函数的简单封装。

Widget factory 工厂模式,没错,jquery ui使用的典型模式,使用面向对象的方式构建复杂有状态的组件,jquery ui中的组件大部分依赖于widget factory基础组件,这个基础模板提供了大部分的默认方法,包括事件触发方法。
Widget factory + RequireJS 这是个使用RequireJS对Widget factory进行简单封装,使其支持AMD模块化加载规范。
Namespaced pattern 命名空间模式,在和其他插件一起使用时,采用命名空间模式避免和其他插件的冲突问题。