学习参考网址整理:

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. wireshark过滤语法总结 (转载)

    做应用识别这一块经常要对应用产生的数据流量进行分析. 抓包采用wireshark,提取特征时,要对session进行过滤,找到关键的stream,这里总结了wireshark过滤的基本语法,供自己以后 ...

  2. 对于一个IE8兼容性问题的反思

    近期做了一个需求,功能非常easy,把用户的优惠券数量读取出来,然后显示到"用户中心"上.开发完毕后.别的浏览器正常.可是到IE8上就不行了.并且,按下F12之后,就又能够载入出来 ...

  3. MySQL 使用 比较函数 INTERVAL() 函数 实现数据按区间分组

    首先看一下它的定义: INTERVAL(N,N1,N2,N3,..........) INTERVAL()函数进行比较列表(N1,N2,N3等等)中的N值.该函数如果N<N1返回0,如果N< ...

  4. Xilinx DDR3 IP核使用问题汇总(持续更新)和感悟

    一度因为DDR3的IP核使用而发狂. 后来因为解决问题,得一感悟.后面此贴会完整讲述ddr3 ip的使用.(XILINX K7) 感悟:对于有供应商支持的产品,遇到问题找官方的流程.按照官方的指导进行 ...

  5. Android开发系列之性能优化

    一直想整理一篇关于Android性能优化的博客,正好今天借鉴一些书籍资料,总结一下自己对于这块的一些认识.相信大家都听说过16ms的原则,即每两个画面之间的绘制时间间隔不能超过16ms,否则人眼能够感 ...

  6. spring security 3.1 实现权限控制

    spring security 3.1 实现权限控制 简单介绍:spring security 实现的权限控制,能够分别保护后台方法的管理,url连接訪问的控制,以及页面元素的权限控制等, secur ...

  7. cmpp 短信平台

    背景: 物联网一般是在设备上安装sim卡,通过2g网络来进行设备与云端系统的交互,网络都是通过移动的基站来进行网络传输的,所以一旦移动的基站有变动,比如流量降级,光缆割接,其他故障登 都会导致2g络的 ...

  8. 前端js文件添加版本号

    客户端会缓存这些css或js文件,因此每次升级了js或css文件后,改变版本号,客户端浏览器就会重新下载新的js或css文件 ,刷性缓存的作用.大家可能有时候发现修改了样式或者js,刷新的时候不变,就 ...

  9. mock调用返回值是void类型

    //调用void方法 doNothing().when(templateWrapper).process();// doCallRealMethod().when(templateWrapper).p ...

  10. spring+redis+nginx 实现分布式session共享

    1,spring 必须是4.3以上版本的 2,maven配置 添加两个重要的依赖 <dependency> <groupId>org.springframework.sessi ...