手机版

jQuery插件开发模式详解

时间:2021-09-11 来源:互联网 编辑:宝哥软件园 浏览:

JQuery插件开发

一般来说,jQuery插件的开发可以分为两种类型:一种是挂在jQuery命名空间中的全局函数,也可以称为静态方法;另一种是jQuery对象级方法,即挂在jQuery原型下的方法,这样通过选择器得到的jQuery对象实例也可以共享这个方法。

I. jQuery扩展

1、$.扩展(对象)

类似于的扩展方法。Net,它用于扩展jQuery。那么它可以以$的形式调用。

$ (function () {$)。extend({ fun1: function(){ alert('为jQuery扩展fun 1函数!');} });$ . fun 1();})2、$.fn.extend(对象)

扩展jQuery的对象。

$ . fn . extend({ fun 2: function(){ alert('执行方法2 '));} });$(' # id1 '). fun 2();您可以使用谷歌查看:

以上写法相当于:

$ . fn . fun 2=fun(){ alert('执行方法2 ');} $(this . fun 2();第二,私有领域

其定义如下:

(函数($){ })(jQuery);//相当于var fn=function(xxoo){ };fn(jQuery);下面的代码弹出123。

$(function(){ var fn=function(xxoo){ };fn(警报(123));})第三,定义插件的基本步骤

1.定义范围

为了开发一个jQuery插件,插件代码必须与外部世界隔离。外部代码不允许直接访问插件内部代码,插件内部代码不影响外部。

//步骤1定义插件私有范围

(函数($){ })(jQuery);这确保了插件内部的代码与外部世界隔离。

2.展开jQuery

定义范围后,插件需要扩展到jQuery,以便在外部调用。

//步骤1定义私有范围(函数($) {//步骤2插件扩展方法名$ . fn . my frame=function(options){ })(jquery);3.缺省值

定义jQuery插件后,如果希望某些参数有默认值,可以用这种方式指定。

//步骤1定义私有范围(函数($) {//步骤3插件默认值属性var defaults={Id: '#id1 ',};//第二步:插件$ .fn.myframe的扩展方法名=function(options){//第三步:合并用户自定义属性,默认属性(如果选项为空,使用默认值)varoptions=$。扩展(默认值、选项);} })(jQuery);4.支持jQuery选择器

//步骤1定义私有范围(函数($) {//步骤3插件默认值属性var defaults={Id: '#id1 ',};//第二步:插件$ .fn.myframe的扩展方法名=function(options){//第三步:合并用户自定义属性,默认属性(如果选项为空,使用默认值)varoptions=$。扩展(默认值、选项);}//步骤4支持jQuery选择器this . each(function(){ });})(jQuery);5.支持jQuery的链式调用

//步骤1定义私有范围(函数($) {//步骤3插件默认值属性var defaults={Id: '#id1 ',};//第二步:插件$ .fn.myframe的扩展方法名=function(options){//第三步:合并用户自定义属性,默认属性(如果选项为空,使用默认值)varoptions=$。扩展(默认值、选项);}//步骤4支持jQuery选择器//步骤5支持链式调用(返回步骤4)返回this . each(function(){ });})(jQuery);6.插件的内部方法

//步骤1定义私有范围(函数($) {//步骤3插件默认值属性var defaults={Id: '#id1 ',};//步骤6在插件中定义函数varmy fun=function(obj){ alert(obj);}//步骤2插件的扩展方法名$ . fn . my frame=function(options){//步骤3合并用户定义的属性,默认属性(如果options为空,则使用默认值)varoptions=$。扩展(默认值、选项);}//步骤4支持jQuery选择器//步骤5支持链式调用(return step 4) return this .每个(function () {//步骤6定义插件中的函数MyFun(this);});})(jQuery);由于范围的原因,目前允许插件在内部使用步骤6的私有函数。

以上就是本文的全部内容,希望对大家有所帮助,谢谢大家的支持!

版权声明:jQuery插件开发模式详解是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。