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玩一玩WSH吧
Feb 23 Javascript
Javascript 圆角div的实现代码
Oct 15 Javascript
jQuery 常见学习网站与参考书
Nov 09 Javascript
jQuery中操控hidden、disable等无值属性的方法
Jan 06 Javascript
js判断60秒以及倒计时示例代码
Jan 24 Javascript
网站接入QQ登录的两种方法
Jul 22 Javascript
解析javascript图片懒加载与预加载的分析总结
Oct 27 Javascript
利用iscroll4实现轮播图效果实例代码
Jan 11 Javascript
Vue Router history模式的配置方法及其原理
May 30 Javascript
Postman内建变量常用方法实例解析
Jul 28 Javascript
如何编写一个 Webpack Loader的实现
Oct 18 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
Dec 16 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
建立动态的WML站点(二)
2006/10/09 PHP
php下过滤HTML代码的函数
2007/12/10 PHP
php iconv() : Detected an illegal character in input string
2010/12/05 PHP
基于php缓存的详解
2013/05/15 PHP
php实现根据字符串生成对应数组的方法
2014/09/22 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
PHP多维数组排序array详解
2017/11/21 PHP
改进UCHOME的记录发布,增强可访问性用户体验
2011/01/17 Javascript
Chrome Form多次提交表单问题的解决方法
2011/05/09 Javascript
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
概述如何实现一个简单的浏览器端js模块加载器
2016/12/07 Javascript
jquery radio 动态控制选中失效问题的解决方法
2018/02/28 jQuery
js提取中文拼音首字母的封装工具类
2018/03/12 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
解决微信小程序中的滚动穿透问题
2019/09/16 Javascript
Vue elementui字体图标显示问题解决方案
2020/08/18 Javascript
纯js+css实现在线时钟
2020/08/18 Javascript
Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法
2015/05/20 Python
Python合并字符串的3种方法
2015/05/21 Python
彻底搞懂Python字符编码
2018/01/23 Python
详解Python中where()函数的用法
2018/03/27 Python
对pandas的行列名更改与数据选择详解
2018/11/12 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
用Python写一个for循环的例子
2016/07/19 面试题
平面设计自荐信
2013/10/07 职场文书
施工人员岗位职责
2013/12/12 职场文书
教师专业自荐书范文
2014/02/10 职场文书
生产部厂长助理职位说明书
2014/03/03 职场文书
质量提升方案
2014/06/16 职场文书
2014年党员教师自我剖析材料
2014/09/30 职场文书
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
保护校园环境倡议书
2015/04/28 职场文书
嘉年华活动新闻稿
2015/07/17 职场文书
新手入门Mysql--概念
2021/06/18 MySQL