写jquery插件(转载)
2017-03-15 16:07
204 查看
如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了。至于使用jquery好处这里就不再赘述了,用过的都知道。今天我们来讨论下jquery的插件机制,jquery有着成千上万的第三方插件,有时我们写好了一个独立的功能,也想将其与jquery结合起来,可以用jquery链式调用,这就要扩展jquery,写成插件形式了,如下面就是一个简单扩展Jquery对象的demo:
View Code
4.暴露公共方法 给别人来扩展你的插件(如果有需求的话)
比如的高亮插件有一个format方法来格式话高亮文本,则我们可将它写成公共的,暴露给插件使用者,不同的使用着根据自己的需求来重写该format方法,从而是高亮文本可以呈现不同的格式。
5.插件私有方法
有些时候,我们的插件需要一些私有方法,不能被外界访问。例如 我们插件里面需要有个方法 来检测用户调用插件时传入的参数是否符合规范。
6.其他的一些设置,如:为你的插件加入元数据插件的支持将使其变得更强大。
完整的高亮插件代码如下:
调用
原文出处:http://www.cnblogs.com/joey0210/p/3408349.html#3407944
支持原创
View Code
4.暴露公共方法 给别人来扩展你的插件(如果有需求的话)
比如的高亮插件有一个format方法来格式话高亮文本,则我们可将它写成公共的,暴露给插件使用者,不同的使用着根据自己的需求来重写该format方法,从而是高亮文本可以呈现不同的格式。
//公共的格式化 方法. 默认是加粗,用户可以通过覆盖该方法达到不同的格式化效果。 $.fn.highLight.format = function (str) { return "<strong>" + str + "</strong>"; }
5.插件私有方法
有些时候,我们的插件需要一些私有方法,不能被外界访问。例如 我们插件里面需要有个方法 来检测用户调用插件时传入的参数是否符合规范。
6.其他的一些设置,如:为你的插件加入元数据插件的支持将使其变得更强大。
完整的高亮插件代码如下:
//闭包限定命名空间 (function ($) { $.fn.extend({ "highLight": function (options) { //检测用户传进来的参数是否合法 if (!isValid(options)) return this; var opts = $.extend({}, defaluts, options); //使用jQuery.extend 覆盖插件默认参数 return this.each(function () { //这里的this 就是 jQuery对象。这里return 为了支持链式调用 //遍历所有的要高亮的dom,当调用 highLight()插件的是一个集合的时候。 var $this = $(this); //获取当前dom 的 jQuery对象,这里的this是当前循环的dom //根据参数来设置 dom的样式 $this.css({ backgroundColor: opts.background, color: opts.foreground }); //格式化高亮文本 var markup = $this.html(); markup = $.fn.highLight.format(markup); $this.html(markup); }); } }); //默认参数 var defaluts = { foreground: 'red', background: 'yellow' }; //公共的格式化 方法. 默认是加粗,用户可以通过覆盖该方法达到不同的格式化效果。 $.fn.highLight.format = function (str) { return "<strong>" + str + "</strong>"; } //私有方法,检测参数是否合法 function isValid(options) { return !options || (options && typeof options === "object") ? true : false; } })(window.jQuery);
调用
//调用 //调用者覆盖 插件暴露的共公方法 $.fn.highLight.format = function (txt) { return "<em>" + txt + "</em>" } $(function () { $("p").highLight({ foreground: 'orange', background: '#ccc' }); //调用自定义 高亮插件 });
原文出处:http://www.cnblogs.com/joey0210/p/3408349.html#3407944
支持原创
相关文章推荐
- (转载)ASP.NET MVC结合jQuery插件进行数据验证
- 240多个JQuery插件(转载)
- [转载]12个jQuery Lightbox效果插件
- [转载]jquery 消息插件--仿QQ消息弹出提醒
- [转载]jQuery 插件autocomplete 应用
- 转载:50个开发者最喜欢使用的jQuery插件
- 转载 - 10个新鲜的Ajax相关的jQuery插件
- 纯客户端页面关键字搜索高亮jQuery插件(转载)
- 【jQuery插件】capacityFixed-类似于新浪微博新消息提示的定位框<转载>
- 【转载】星级评分--jQuery插件
- jQuery插件开发(转载)
- 【转载】强烈推荐:240多个jQuery插件
- [转载]收集30个新鲜惊艳的JQuery插件和教程(带演示代码)
- 纯客户端页面关键字搜索高亮jQuery插件(转载)
- JQuery上传插件Uploadify使用详解 转载
- [转载]超强1000个jquery极品插件!(连载中。。。。)
- NO.23 【转载】15款提高表格操作的jQuery插件
- 转载自JavaEye:一些必看的jQuery导航插件和教程(仅供自我学习,建立资料库)
- 转载一篇cnbeta上文章:2011年度最佳 jQuery 插件
- 一款不错的Jquery插件——获取URL参数(转载)