您的位置:首页 > Web前端 > JQuery

JQuery插件最佳实践

2015-07-27 16:28 477 查看

参考官网插件资料

先看一个麻雀虽小五脏俱全的demo

(function ( $ ) {//闭包开始

var Hl=  $.fn.hilight = function( options ) {

// 参数说明,这里第一个参数{}作用是防止默认值defaults被options覆盖
// 如果是四个参数第一个参数是bool类型的true表示深层拷贝
var opts = $.extend( {}, $.fn.hilight.defaults, options );
var t=$( this );
return t.each(function(index,el) {

var elem = $( el);//取得jq对象
opts.callback.call(elem);// 设置回调函数
dob(elem,opts);

});

};
// 私有方法
function dob(elem,opts){
elem.css(opts.wrapperCSS);// 设置样式
elem.attr(opts.wrapperAttrs);// 设置属性
};
// 对外暴露方法
Hl.doa=function(){};
// 显式修改全局默然参数
$.fn.hilight.defaults = {
wrapperAttrs : {
class: "gallery-wrapper"
},
wrapperCSS: {color:"red",background:"green"},
container :"",
callback:function(){}
};
})( jQuery );// 闭包结束


这个例子包含了一个写一个插件的大部分方面,从最外层开始说起,使用闭包的好处官网有三点解释:

1. 避免全局依赖。

2. 避免第三方破坏。

3. 兼容jQuery操作符’$’和’jQuery

然后就是默认参数设置,这里注释说的很详细了,再就是实现链式调用,然后就是私有方法和对外暴露的方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: