写jQuery插件

手把手教你怎么写jQuery插件

  这次随笔,向大家介绍如何编写jQuery插件。啰嗦一下,很希望各位IT界的‘攻城狮’们能和大家一起分享,一起成长。点击左边我头像下边的“加入qq群”,一起分享,一起交流,当然,可以一起吹水。哈,不废话,进入正题。

  jQuey是一个非常好用的javascript类库,提供了非常多的接口给程序员使用。但在某些具体方面,并没有完全提供解决方法,这就要求我们自己实现。jQuery官方也提供jQuery拓展的标准。编写jQuery插件时,应该注意一下几点原则:

  1. 避免全局依赖。
  2. 避免第三方破坏。
  3. 兼容jQuery操作符’$’和’jQuery’

这三个原则非常重要,否则,这个插件将会失去插件的意义。

  jquery插件命名,一般在前面加上jquery,这样别人就知道这是jQuery插件。如:jquery.modelselect.min.js

加了min表示压缩版,压缩版一般处理方式是去掉空格换行,也有些公司为了保护代码,直接重构变量和私有函数名,不过这样做在一般程序员是有效的,但在高手面前,并没什么卵用,有人一样能把它还原。

  OK, jQuery插件的标准代码格式如下,(需要使用闭包,对于javascript闭包,本博客已博文专门介绍):

1 (function ($) {
2  //插件内部代码
3 })(jQuery);

以上代码的第三行,可以是window.jQuery或者$,按照官方的解释,这三者是等价的。

在这写一个小demo, 就是插入一个个人信息。

 1    (function ($) {
 2         $.fn.userInfo = function (options) { //定义插件方法名
 3             var dft = {
 4                 //定义一个对象,设置默认值
 5                 name: ‘Steven Zhu‘, //名
 6                 email: ‘[email protected]‘, //链接
 7                 size: ‘14px‘, //文字大小
 8                 align: ‘center ‘//文字位置,left || center || right
 9             };
10             var opt = $.extend(dft, options);//这个很关键,待会跟你说。
11             var style = ‘style="font-size:‘ + opt.size + ‘;text-align:‘ + opt.align + ‘;"‘; //调用默认的样式
12             var name = ‘<p‘ + ‘ ‘ + style + ‘>name:<a target="_blank" >‘ + opt.name + ‘</a></p>‘;
13             var email = ‘<p‘ + ‘ ‘ + style + ‘>name:<a target="_blank">‘ + opt.email + ‘</a></p>‘;
14             $(this).append(name);
15             $(this).append(name);
16         }
17     })(window.jQuery);

好了,说说$.extend(), 这个方法,他的作用就是扩展,以上这段代码就是将options拓展到dft,最后赋给opt.这样写为了可读性。

所以这段代码还可以这样。

options = $.extend({//here is default values},options);

这样,看起来就精简多了。

  很感谢一楼的评论,提醒我考虑的性能和链式操作。我们再写插件时,把当前对象return回去,这样返回的又是jQuery对象,这样可以链式操作。结合上面一段,代码修改如下:

 1 (function ($) {
 2         $.fn.userInfo = function (options) { //定义插件方法名
 3             options = $.extend({
 4                 //定义一个对象,设置默认值
 5                 name: ‘Steven Zhu‘, //名
 6                 email: ‘[email protected]‘, //链接
 7                 size: ‘14px‘, //文字大小
 8                 align: ‘center ‘//文字位置,left || center || right
 9             },options);
10
11             12             var style = ‘style="font-size:‘ + opt.size + ‘;text-align:‘ + opt.align + ‘;"‘; //调用默认的样式
13             var name = ‘<p‘ + ‘ ‘ + style + ‘>name:<a target="_blank" >‘ + opt.name + ‘</a></p>‘;
14             var email = ‘<p‘ + ‘ ‘ + style + ‘>name:<a target="_blank">‘ + opt.email + ‘</a></p>‘;
15             this.append(name);
16             this.append(name);
17
18             return this;
19         }
20     })(window.jQuery);

调用:

  在引入插件之后,直接调用就行。

1 <script>
2  $("#user-info").userInfo();
3 <script">

这样会在dom的id="user-info"里输出插件的默认值,即显示结果是:Steven Zhu  [email protected]

要改变里面的值,只需要加入你想要的参数就行。如下:

<script>
 $(‘#user-info‘).userInfo({
 name: ‘Sun Zhu‘,
 email: ‘[email protected]‘,
 size: ‘16px‘,
 align: ‘right‘
 });
<script">

这样就改变默认值了。输出结果就是:Sun Zhu [email protected],文字右对齐。

原创作品,转载请注明出处:http://zhutty.cnblogs.com

在此特别感谢我在上海的朋友:Oliver。这货是很牛的程序员,当年初次写jquery插件时,多亏他的引导,另,感谢一楼。

时间: 2024-10-17 03:21:23

写jQuery插件的相关文章

写JQuery 插件 什么?你还不会写JQuery 插件

http://www.cnblogs.com/Leo_wl/p/3409083.html 前言 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jquery的插件机制,jquery有着成千上万的第三方插件,有时我们写好了一个独立的功能,也想将其与jquery结合起来,可以用jquery链式调用,这就要扩展jquery,写成插件形式了,如下面就是一个简

写JQuery插件的基本知识

普及JQuery知识 知识1:用JQuery写插件时,最核心的方法有如下两个: 复制代码代码如下: $.extend(object) 可以理解为JQuery 添加一个静态方法. $.fn.extend(object) 可以理解为JQuery实例添加一个方法. 基本的定义与调用: 复制代码代码如下: /* $.extend 定义与调用* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */$

如何写jquery插件

常用的JQuery插件有如下几种写法: 1. 对JQuery自身的扩展插件 这种插件是对JQuery自身的方法库进行扩展的.在使用的时候通过$.MethodName()的方式直接使用. $.extend({     handleTableUI : function(table){         var thisTable = $("#" + table);                  $(thisTable).find("tr").bind("mo

手把手教你怎么写jQuery插件

[原创作品]手把手教你怎么写jQuery插件 这次随笔,向大家介绍如何编写jQuery插件.啰嗦一下,很希望各位IT界的'攻城狮'们能和大家一起分享,一起成长.点击左边我头像下边的"加入qq群",一起分享,一起交流,当然,可以一起吹水.哈,不废话,进入正题. jQuey是一个非常好用的javascript类库,提供了非常多的接口给程序员使用.但在某些具体方面,并没有完全提供解决方法,这就要求我们自己实现.jQuery官方也提供jQuery拓展的标准.编写jQuery插件时,应该注意一下

一步一步写jQuery插件

转载自:http://www.cnblogs.com/joey0210/p/3408349.html 前言 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jquery的插件机制,jquery有着成千上万的第三方插件,有时我们写好了一个独立的功能,也想将其与jquery结合起来,可以用jquery链式调用,这就要扩展jquery,写成插件形式了,如下

锋利的jQuery--编写jQuery插件(读书笔记五)[完结篇]

1.表单验证插件Validation   2.表单插件Form 3.动态事件绑定插件livequery 可以为后来的元素绑定事件 类似于jQuery中的live()方法 4.jQuery UI   5.jQuery Cookie   6.遮罩层插件:thickbox 7.编写jQuery插件 <1>编写插件的目的:给已经有的一些列方法或函数做一个封装,一遍在其他地方使用,方便后期维护和提高开发效率. <2>三种类型的插件 a:封装对象方法的插件 jQuery.fn.extend()

10分钟学会写Jquery插件

最近很多网友说jquery插件是什么啊?怎么写的啊?我不会写啊? 一大堆的问题一时都不知道怎么回答他们,个人认为是网友们把问题复杂化了. 其实就是把一些常用.实用.通用的功能封装起来而以,简单的来讲就是把这些代码放在一个方法里面,可以达到重复使用的效果,这样就可以不需要每次要用此功能的时候都去重新写一遍. 现在Jquery里面加入了插件的概念,只要按照它特定的格式当作平时写function一样去写就可以了,不虽然搞得太复杂的.信不信由你们,反正我信了. 接下来用简单的代码来讲解一下,如果网友们看

教你写Jquery插件

最近很多网友说 jQuery插件是什么啊?怎么写的啊?我不会写啊? 一大堆的问题一时都不知道怎么回答他们,个人认为是网友们把问题复杂化了. 其实就是把一些常用.实用.通用的功能封装起来而以,简单的来讲就是把这些代码放在一个方法里面,可以达到重复使用的效果,这样就可以不需要每次要用此功能的时候都去重新写一遍. 现在Jquery里面加入了插件的概念,只要按照它特定的格式当作平时写function一样去写就可以了,不虽然搞得太复杂的.信不信由你们,反正我信了. 接下来用简单的代码来讲解一下,如果网友们

怎么写jQuery插件

jQuey是一个非常好用的javascript类库,提供了非常多的接口给程序员使用.但在某些具体方面,并没有完全提供解决方法,这就要求我们自己实现.jQuery官方也提供jQuery拓展的标准.编写jQuery插件时,应该注意一下几点原则: 1. 避免全局依赖. 2. 避免第三方破坏. 3. 兼容jQuery操作符'$'和'jQuery' 这三个原则非常重要,否则,这个插件将会失去插件的意义. jquery插件命名,一般在前面加上jquery,这样别人就知道这是jQuery插件.如:jquery