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
然后就是默认参数设置,这里注释说的很详细了,再就是实现链式调用,然后就是私有方法和对外暴露的方法
相关文章推荐
- JQUERY实现网页右下角固定位置展开关闭特效的方法
- jQuery的图像裁剪插件Jcrop
- jquery基础介绍-转
- jquery解除hover事件的绑定方式
- jquery autocomplete中文乱码问题
- jquery easyui datagrid的getSelections问题
- JQuery学习总结
- jquery操作表格行(增加、删除)
- JQ技术实现注册页面带有校验密码强度
- jquery实现TAB选项卡鼠标经过带延迟效果的方法
- 编写JQuery插件
- Jquery实现行内编辑
- jquery-qrcode生成二维码
- jquery的 ajax返回值为中文时乱码解决方法
- 使用Jquery--Jsp与servlet之间的数据交互
- jquery中tree节点取消选择
- jquery实现动画部分
- jquery 判断单/复选框是否被选中
- ExtJs和JQuery应用的比较
- jQuery实现鼠标滑向当前图片高亮显示并且其它图片变灰的方法