手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >详解jQuery插件开发方式
详解jQuery插件开发方式
摘要:jQuery插件开发一般来说,jQuery插件的开发分为两种:一种是挂在jQuery命名空间下的全局函数,也可称为静态方法;另一种是jQue...

jQuery插件开发

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

一、jQuery扩展

1、$.extend(object)

类似于.Net的扩展方法,用于扩展jQuery。然后就可以用$.的方式调用。

$(function(){ $.extend({ fun1: function () { alert("为jQuery扩展一个fun1函数!"); } }); $.fun1(); })

2、$.fn.extend(object)

扩展jQuery的对象。

$.fn.extend({ fun2: function () { alert("执行方法2"); } }); $("#id1").fun2();

可以用google来看看:

详解jQuery插件开发方式1

上面的写法等同于:

$.fn.fun2 = function () { alert("执行方法2"); } $(this).fun2();

二、私有域

其定义方式如下:

(function ($) { })(jQuery); //相当于 var fn = function (xxoo) { }; fn(jQuery);

以下代码弹出123。

$(function(){ var fn = function (xxoo) { }; fn(alert(123)); })

三、定义插件的基本步骤

1、定义作用域

开发一个jQuery插件,首先要把插件的代码与外界隔离开来,外部的代码不允许直接访问插件内部的代码,插件内部的代码也不影响外部。

//步骤1 定义插件私有作用域

(function ($) { })(jQuery);

这样就能保证插件内部的代码与外界隔离了。

2、扩展jQuery

定义了作用域之后,为了能够让外部调用,就需要将插件扩展到jQuery。

//步骤1 定义私有作用域 (function ($) { //步骤2 插件的扩展方法名称 $.fn.MyFrame = function (options) { } })(jQuery);

3、默认值

定义了jQuery插件之后,如果希望某些参数具有默认值,那么可以以这种方式来指定。

//步骤1 定义私有作用域 (function ($) { //步骤3 插件的默认值属性 var defaults = { Id: '#id1', }; //步骤2 插件的扩展方法名称 $.fn.MyFrame = function (options) { //步骤3 合并用户自定义属性,默认属性(如果options为空,则使用defaults) var options = $.extend(defaults, options); } })(jQuery);

4、支持jQuery选择器

//步骤1 定义私有作用域 (function ($) { //步骤3 插件的默认值属性 var defaults = { Id: '#id1', }; //步骤2 插件的扩展方法名称 $.fn.MyFrame = function (options) { //步骤3 合并用户自定义属性,默认属性(如果options为空,则使用defaults) var options = $.extend(defaults, options); } //步骤4 支持jQuery选择器 this.each(function () { }); })(jQuery);

5、支持jQuery的链式调用

//步骤1 定义私有作用域 (function ($) { //步骤3 插件的默认值属性 var defaults = { Id: '#id1', }; //步骤2 插件的扩展方法名称 $.fn.MyFrame = function (options) { //步骤3 合并用户自定义属性,默认属性(如果options为空,则使用defaults) var options = $.extend(defaults, options); } //步骤4 支持jQuery选择器 //步骤5 支持链式调用(将步骤4返回) return this.each(function () { }); })(jQuery);

6、插件内部方法

//步骤1 定义私有作用域 (function ($) { //步骤3 插件的默认值属性 var defaults = { Id: '#id1', }; //步骤6 在插件里定义函数 var MyFun = function (obj) { alert(obj); } //步骤2 插件的扩展方法名称 $.fn.MyFrame = function (options) { //步骤3 合并用户自定义属性,默认属性(如果options为空,则使用defaults) var options = $.extend(defaults, options); } //步骤4 支持jQuery选择器 //步骤5 支持链式调用(将步骤4返回) return this.each(function () { //步骤6 在插件里定义函数 MyFun(this); }); })(jQuery);

由于作用域关系,步骤6的私有函数目前允许的插件内部使用。

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

【详解jQuery插件开发方式】相关文章:

jQuery实现不断闪烁文字的方法

DeviceOne 让你一见钟情的App快速开发平台

AspNet中使用JQuery boxy插件的确认框

jQuery构造函数init参数分析续

javascript插件开发的一些感想和心得

js跨域请求的5中解决方式

分享十五款 jQuery 社交网络分享插件

浅谈jQuery中replace()方法

JQuery实现动态添加删除评论的方法

详解Javascript中的Object对象

精品推荐
分类导航