学习参考网址整理:

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. 对于一个IE8兼容性问题的反思

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

  2. JavaScript-2.4 改进的Hello程序,使用div,---ShinePans

    <html> <head> <meta http-equiv="content-type" content="text/html;chars ...

  3. Rabbitmq消息队列(二) Hello World! 模拟简单发送接收

    1.简介 RabbitMQ是消息代理:它接受和转发消息.你可以把它当作一个邮局:当你把你要邮寄的邮件放在信箱里时,你可以肯定Postman先生最终会把邮件送到你的收件人那里.在这个比喻中,Rabbit ...

  4. SQL Server事务详解

    事务定义: 事务是单个的工作单元.如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分.如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除. 事务三种运行模式:  ...

  5. 11.static(转)

    本文转自:http://blog.csdn.net/keyeagle/article/details/6708077 google了近三页的关于C语言中static的内容,发现可用的信息很少,要么长篇 ...

  6. mock异常

    在类开始的时候: @Rule public ExpectedException expectedEx = ExpectedException.none(); 在方法中执行下面代码: expectedE ...

  7. 巧用批处理cmd快速切换IP地址

    如果你的笔记本经常在不同的地方使用,有些地方需要自动获取IP,而有些地方需要配置固定IP,每换一个地方都需要重新配置一遍,是不是感觉很麻烦呢? 下面介绍一种通过建立批处理文件来快速切换IP的方法: s ...

  8. 慢慢理解RESTful架构

    <理解本真的REST架构风格> 作者:李锟 链接:http://www.infoq.com/cn/articles/understanding-restful-style/ <理解R ...

  9. Android仿QQ复制昵称效果2

    本文同步自http://javaexception.com/archives/77 背景: 在上一篇文章中,给出了一种复制QQ效果的方案,今天就来讲讲换一种方式实现.主要依赖的是一个开源项目https ...

  10. js intanceof 或 typeof

    typeof和instanceof的区别 typeof和instanceof都可以用来判断变量,它们的用法有很大区别: typeof会返回一个变量的基本类型,只有以下几种:number,boolean ...