您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

详解jQuery插件开发方式

2024/4/3 14:21:20发布17次查看
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来看看:
上面的写法等同于:
$.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的私有函数目前允许的插件内部使用。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product