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 相关文章推荐
自己的js工具 Event封装
Aug 21 Javascript
24款非常有用的 jQuery 插件分享
Apr 06 Javascript
Node.js中child_process实现多进程
Feb 03 Javascript
jqPlot jQuery绘图插件的使用
Jun 18 Javascript
浅谈jquery设置和获得checkbox选中的问题
Aug 19 Javascript
js对象浅拷贝和深拷贝详解
Sep 05 Javascript
bootstrap laydate日期组件使用详解
Jan 04 Javascript
JS基于贪心算法解决背包问题示例
Nov 27 Javascript
JavaScript常用数学函数用法示例
May 14 Javascript
又拍云 Node.js 实现文件上传、删除功能
Oct 28 Javascript
微信小程序在其他页面监听globalData中值的变化
Jul 15 Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
Sep 30 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递归算法和应用方法介绍
2013/04/15 PHP
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
PHP分页类集锦
2014/11/18 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
2015/04/01 PHP
php备份数据库类分享
2015/04/14 PHP
javascript之大字符串的连接的StringBuffer 类
2007/05/08 Javascript
Stop SQL Server
2007/06/21 Javascript
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
js 数组去重的四种实用方法
2014/09/09 Javascript
深入浅析JavaScript面向对象和原型函数
2016/02/06 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
checkbox批量选中,获取选中项的值的简单实例
2016/06/28 Javascript
详解微信小程序 相对定位和绝对定位
2017/05/11 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
使用clipboard.js实现复制功能的示例代码
2017/10/16 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
如何使用pm2快速将项目部署到远程服务器
2019/03/12 Javascript
vue插槽slot的理解和使用方法
2019/04/03 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
seajs和requirejs模块化简单案例分析
2019/08/26 Javascript
浅析VUE防抖与节流
2020/11/24 Vue.js
python实现快速排序的示例(二分法思想)
2018/03/12 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
2019/09/28 Python
使用PyCharm进行远程开发和调试的实现
2019/11/04 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
python 实现弹球游戏的示例代码
2020/11/17 Python
流行文化收藏品:Sideshow(DC漫画,星球大战,漫威)
2019/03/17 全球购物
会计专业毕业生自荐信范文
2013/12/20 职场文书
宣传活动总结范文
2014/07/01 职场文书
公司领导九九重阳节发言稿2014
2014/09/25 职场文书
面试感谢信范文
2015/01/22 职场文书
关于感谢信的范文
2015/01/23 职场文书
2015年社区环境卫生工作总结
2015/04/21 职场文书
MySQL慢查询的坑
2021/04/28 MySQL
全网非常详细的pytest配置文件
2022/07/15 Python