学习参考网址整理:

http://blog.csdn.net/chenxi1025/article/details/52222327

http://www.cnblogs.com/ellisonDon/archive/2012/08/12/2634503.html

jquery插件的开发包括两种:

1、类级别插件开发:给jquery类添加类方法,可理解为添加静态方法;例如$.AjAX()函数;

//定义全局函数

$.foo = function(){};

$.bar = function(){};

//$.foo();$bar();

//使用extend定义全局函数

$.extend({

  foo : function(){

},

  bar : function(){

}

});

//$.foo();$bar();

//使用命名空间定义全局函数

$.plugin = {

  foo : function(){

}

}

//接受参数控制插件的行为

(function($){

  $.popShow = function(options){

  var default = {

  id : "",

  url : "",

  title : ""

};

  var settings = $.extend({},default,options);//利用extend把default的对象的方法属性整合到options中;

 //此处不需要this.each(function(){});

//执行代码

var _id = settings.id,

  _url = settings.url,

  _title = settings.title;

  $(_id).closet(".popWrap").hide();

//...

};

//调用方法:$.popShow({

  id : ".close",

  url : "",

  title : "编辑"

});

})(jQuery);

//$.plugin.foo();

2、对象级别插件

//形式一

(function($){

$.fn.foo = function(){};

})(jQuery);

$.fn.foo = function(){};

//形式二

(function($){

$.fn.extend({

  foo : funciton(){};

})

})(jQuery);

//接受参数控制插件的行为

(function($){

$.fn.popShow = function(options){

var defaults = { //配置项

  url : "",

  title : ""

};

var settings = $.extend({},defaults,options);// 这个是利用extend方法把 defaults对象的方法属性全部整合到 options里

this.each(function(){

  //$.fn.abc()这种实例化方法才需要有this.each循环给多个相同类名的元素绑定此方法里面的事件;// $("div").abc();

  var tag =  $(this);  //调用方法时为$("#div").popShow(); 此处的$(this)相当于$("#div");

  //执行代码

  return this;

});

};

})(jQuery);

jquery拓展插件开发的更多相关文章

  1. js获取网页的url文件名( 例如index.aspx),js获取url的参数(例如获取 ?cid=joeylee的值),给jquery拓展方法

      <script type="text/javascript"> var JsRequest={ //这就是一个静态类,类里面有2个静态方法 //方法一:获取url的 ...

  2. 基于jquery的插件开发

    最近在公司做一个项目,由于后台数据太多需要分页显示,在网上找了很多插件都没有找到合适的分页插件,所有的分页插件始终达不到自己想要的效果.由于这个项目也不是很赶,就在网上查找各种资料,自己写一个基于jq ...

  3. jquery 拓展

    1. 概述 jquery允许拓展自定义的方法, 绑定到$.fn对象上, 编写一个jQuery插件的原则: 给$.fn绑定函数,实现插件的代码逻辑: 插件函数最后要return this;以支持链式调用 ...

  4. jquery 拓展函数集

    方式: 通过拓展在调用$()时返回的包装器 1.将函数绑定到$.fn $.fn.disable = function(){ return this.each(function(){ if (typeo ...

  5. $fn、$extends $fn.extends的用法,jquery的插件开发

    原文链接:http://caibaojian.com/jquery-extend-and-jquery-fn-extend.html Query.fn.extend(); jQuery.extend( ...

  6. Jquery拓展方法

    拓展JQuery一般有两个方法: 1.全局拓展 比如 $.ajax()就是全局函数 拓展方法: Jquery.extend(); 比如: $.extend({ hello:function(mynam ...

  7. jquery easyui 插件开发

    (function($) { /** * 插件定义 */ $.fn.resquery = function(options, param) { if (typeof options == " ...

  8. jquery 拓展方法

    摘抄自(http://hi.baidu.com/jjjvzugcpmcdmor/item/0e32a89c36a18544f04215d7) $.fn是指jquery的命名空间,加上fn上的方法及属性 ...

  9. JQuery的插件开发——重点

    1.给JQuery全局对象扩展一个函数方法 $.log=function(){ /* 给全局对象$扩展一个函数*/ } $.log;//调用方法 2.给JQuery普通对象扩展一个函数方法 3.使用第 ...

随机推荐

  1. 华为AR路由器AR207-S配置pppoe拨号上网图解实例

  2. 用JS将json日期格式化成正常日期

       function ChangeDateFormat(cellval) {             var date = new Date(parseInt(cellval.replace(&qu ...

  3. ios 中尝试多次请求

    -(void)tryRun { tryTimes++; id obj = [ASODataManager getAppleAccount]; if (obj) { __block FirstViewC ...

  4. Pushlet后台推送

    1.Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模型:客户端发送请求,订阅感兴趣的事件:服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的 ...

  5. ubuntu中安装apache ab命令进行简单压力测试

    1.安装ab命令 写道 apt-get install apache2-utils 2.ab命令参数说明. 写道 Usage: ab [options] [http[s]://]hostname[:p ...

  6. SpringCloud系列七:使用Ribbon实现客户端侧负载均衡

    1. 回顾 在前面,已经实现了微服务的注册与发现.启动各个微服务时,Eureka Client会把自己的网络信息注册到Eureka Server上. 但是,在生成环境中,各个微服务都会部署多个实例,因 ...

  7. Linux下lvm在线扩容步骤

    转 :https://jingyan.baidu.com/article/25648fc18f22b29191fd0011.html 图片看不清可以看原文 LVM是逻辑盘卷管理(Logical Vol ...

  8. 使用scp免passwordserver间传递文件

    1.aserver下执行命令  ssh-keygen -t rsa 2.三个回车 3.在用户的文件夹下 ~/.ssh/产生两个文件,id_rsa,id_rsa.pub 4.把aserver下相应的文件 ...

  9. Shift Register(Using Submodule)

    /*************************************************** /  Shift Register module by Submodule /  Progra ...

  10. 也许,这样理解HTTPS更容易_转载

    转自:也许,这样理解HTTPS更容易 原文衔接:https://showme.codes/2017-02-20/understand-https/ 作者:翟志军  摘要 本文尝试一步步还原HTTPS的 ...