jquery的extend和fn.extend的使用说明


Posted in Javascript onJanuary 09, 2011

jQuery为开发插件提拱了两个方法,分别是:

jQuery.fn.extend(object); 
jQuery.extend(object);

jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。
jQuery.fn.extend(object);给jQuery对象添加方法。

fn 是什么东西呢。查看jQuery代码,就不难发现。

jQuery.fn = jQuery.prototype = { 
 init: function( selector, context ) {//....  

 //...... 
};

原来 jQuery.fn = jQuery.prototype.对prototype肯定不会陌生啦。

虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便。
jQuery便是一个封装得非常好的类,比如我们用 语句 $("#btn1") 会生成一个 jQuery类的实例。

jQuery.extend(object); 为jQuery类添加添加类方法,可以理解为添加静态方法。如:

$.extend({ 
add:function(a,b){return a+b;} 
});

便为 jQuery 添加一个为 add 的 “静态方法”,之后便可以在引入 jQuery 的地方,使用这个方法了,
$.add(3,4); //return 7

jQuery.fn.extend(object); 对jQuery.prototype进得扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。
比如我们要开发一个插件,做一个特殊的编辑框,当它被点击时,便alert 当前编辑框里的内容。可以这么做:

$.fn.extend({ 
alertWhileClick:function(){ 
$(this).click(function(){ 
alert($(this).val()); 
}); 
} 
}); 
$("#input1").alertWhileClick(); //页面上为:<input id="input1" type="text"/>
Javascript 相关文章推荐
我也种棵OO树JXTree[js+css+xml]
Apr 02 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
Nov 18 Javascript
jQuery中$.extend()用法实例
Jun 24 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
Oct 25 Javascript
针对BootStrap中tabs控件的美化和完善(推荐)
Jul 06 Javascript
老生常谈js动态添加事件--- 事件委托
Jul 19 Javascript
AngularJS入门教程之更多模板详解
Aug 19 Javascript
BootStrap入门教程(二)之固定的内置样式
Sep 19 Javascript
数组Array的一些方法(总结)
Feb 17 Javascript
React组件refs的使用详解
Feb 09 Javascript
js使用formData实现批量上传
Mar 27 Javascript
js中实现继承的五种方法
Jan 25 Javascript
js对象之JS入门之Array对象操作小结
Jan 09 #Javascript
理解JavaScript中的对象 推荐
Jan 09 #Javascript
最佳JS代码编写的14条技巧
Jan 09 #Javascript
JavaScript定义类或函数的几种方式小结
Jan 09 #Javascript
javascript中用星号表示预录入内容的实现代码
Jan 08 #Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
Jan 08 #Javascript
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
Jan 08 #Javascript
You might like
php将时间差转换为字符串提示
2011/09/07 PHP
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
2018/08/21 PHP
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
jquery可见性过滤选择器使用示例
2013/06/24 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
jquery获取节点名称
2015/04/26 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
在JavaScript中模拟类(class)及类的继承关系
2016/05/20 Javascript
js与jquery分别实现tab标签页功能的方法
2016/11/18 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
wxPython中listbox用法实例详解
2015/06/01 Python
Python中的日期时间处理详解
2016/11/17 Python
Python Grid使用和布局详解
2018/06/30 Python
PyCharm代码提示忽略大小写设置方法
2018/10/28 Python
Python 去除字符串中指定字符串
2020/03/05 Python
Python基于mediainfo批量重命名图片文件
2020/12/29 Python
html5指南-5.使用web storage存储键值对的数据
2013/01/07 HTML / CSS
几个解决兼容IE6\7\8不支持html5标签的几个方法
2013/01/07 HTML / CSS
瑞典廉价机票预订网站:Seat24
2018/06/19 全球购物
国际金融专业大学生职业生涯规划书
2013/12/28 职场文书
校园之星获奖感言
2014/01/29 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
产品销售计划书
2014/05/04 职场文书
2014年乡镇领导个人整改措施
2014/09/19 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
小学生思想品德评语
2014/12/31 职场文书