• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

详解jQuery插件开发方式

php 搞代码 4年前 (2022-01-04) 27次浏览 已收录 0个评论

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 支持j<mark style="color:transparent">来源gaodaimacom搞#^代%!码网</mark>Query选择器 //步骤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的私有函数目前允许的插件内部使用。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:详解jQuery插件开发方式

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址