学习参考网址整理:

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. python读取文件下的所有文档

    两类文档存储在两个路径下,假设每类文档有25个文档 def spamTest(): docList = [] classList = [] fullText = [] for i in range(1 ...

  2. 初学spring(二)

      1.spring推荐使用接口编程,配合di可以达到层与层之间解耦

  3. poj 2828 Buy Tickets (线段树 单节点 查询位置更新)

    Buy Tickets Time Limit: 4000MS   Memory Limit: 65536K Total Submissions: 15533   Accepted: 7759 Desc ...

  4. Atitit.code base view 视图的实现原理

    Atitit.code base view 视图的实现原理 1. 视图的执行算法:1 2. 不可更新的视图:1 3. 关于视图的可插入性:insert2 4. 视图定义3 5. 调用3 1. 视图的执 ...

  5. 没有博士学位,照样玩转TensorFlow深度学习

    教程 | 没有博士学位,照样玩转TensorFlow深度学习 机器之心2017-01-24 12:32:22 程序设计 谷歌 操作系统 阅读(362)评论(0) 选自Codelabs 机器之心编译 参 ...

  6. 单页应用seo收录神器 -- seo-mask

    前言 看到标题的人肯定会问,seo-mask是什么,为什么可以解决单页应用seo无法被收录的难题呢? 简单来讲seo-mask做的就是为已经发布线上运营的的单页应用项目建立另一个简单的利于seo的镜像 ...

  7. MySQL 5.6修改data目录

    默认数据存放位置: C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.6\ 打开该位置,即可看见my. ...

  8. Map根据value排序

    网上找到的资源, package com.test.ch1; import java.util.ArrayList; import java.util.Collections; import java ...

  9. 几种垃圾回收GC概述

    垃圾回收机制 引用计数回收器(Reference Counting Collector) 原理是在每个对象内部维护一个整数值,叫做这个对象的引用计数,当对象被引用时引用计数加一,当对象不被引用时引用计 ...

  10. JSP接口浅析

    一.tree型关系 JSP页面继承了org.apache.jasper.runtime.HttpJspBase抽象类并实现了org.apache.jasper.runtime.JspSourceDep ...