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 时间显示效果代码
Aug 23 Javascript
prototype 中文参数乱码解决方案
Nov 09 Javascript
jQuery实现图片放大预览实现原理及代码
Sep 12 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
Jan 28 Javascript
利用node.js本地搭建HTTP服务器
Apr 19 Javascript
解决浏览器会自动填充密码的问题
Apr 28 Javascript
详解Vue.use自定义自己的全局组件
Jun 14 Javascript
JS实现方形抽奖效果
Aug 27 Javascript
js实现网页版贪吃蛇游戏
Feb 22 Javascript
ElementUI 修改默认样式的几种办法(小结)
Jul 29 Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
Dec 09 Javascript
jQuery ajax - getScript() 方法和getJSON方法
May 14 jQuery
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下删除字符串中HTML标签的函数
2008/08/27 PHP
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
php 可变函数使用小结
2018/06/12 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
javascript操作cookie_获取与修改代码
2009/05/21 Javascript
基于Jquery的简单&amp;简陋Tabs插件代码
2010/02/09 Javascript
js获取RadioButtonList的Value/Text及选中值等信息实现代码
2013/03/05 Javascript
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
2013/09/06 Javascript
jquery.Jcrop结合JAVA后台实现图片裁剪上传实例
2016/11/05 Javascript
详解js中==与===的区别
2017/01/08 Javascript
用file标签实现多图文件上传预览
2017/02/14 Javascript
详解vue-resource promise兼容性问题
2017/06/20 Javascript
简单实现js进度条加载效果
2020/03/25 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
2017/12/08 Javascript
vue 本地环境跨域请求proxyTable的方法
2018/09/19 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
在vue中配置不同的代理同时访问不同的后台操作
2020/09/11 Javascript
iview实现动态表单和自定义验证时间段重叠
2021/01/10 Javascript
python文件操作整理汇总
2014/10/21 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
BIBLOO捷克:购买女装、男装、童装、鞋和配件
2017/01/27 全球购物
结婚喜宴家长答谢词
2014/01/15 职场文书
函授毕业个人自我评价
2014/02/20 职场文书
学生夜不归宿检讨书
2014/09/23 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
大学生入党群众意见书
2015/06/02 职场文书
学校隐患排查制度
2015/08/05 职场文书
《黄山奇石》教学反思
2016/02/18 职场文书
Python 多线程之threading 模块的使用
2021/04/14 Python
OpenCV实现反阈值二值化
2021/11/17 Java/Android