如何开发一个JQuery插件


Posted in 面试题 onJuly 28, 2016
JQuery有两种开发插件的方法:
jQuery.fn.extend(object);
jQuery.extend(object);
jQuery.extend(object);方法为扩展jQuery类本身.并为类添加新的方法。
jQuery.fn.extend(object)方法是给jQuery对象添加方法。
jQuery.fn = jQuery.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 当前编辑框里的内容。可以这么做:
Java代码
1. $.fn.extend({
2.
3. alertWhileClick:function(){
4.
5. $(this).click(function(){
6.
7. alert($(this).val());
8. });
9.
10. }
11.
12. });
13.
14. $(“#input1″).alertWhileClick(); //页面上为:
$.fn.extend({
alertWhileClick:function(){
$(this).click(function(){
alert($(this).val());
});
}
});
$(“#input1″).alertWhileClick(); //页面上为:
$(“#input1″) 为一个jQuery实例,当它调用成员方法 alertWhileClick后,便实现了扩展,每次被点击时它会先弹出目前编辑里的内容。
jQuery提拱了丰富的操作文档,事件,CSS ,Ajax、效果的方法,结合这些方法,便可以开发出更加 Niubility 的插件。

Tags in this post...

面试题 相关文章推荐
什么是serialVersionUID
Mar 04 面试题
北京银河万佳Java面试题
Mar 21 面试题
最新远光软件笔试题面试题内容
Nov 08 面试题
西安当代医院管理研究院笔试题
Dec 11 面试题
C#实现启动一个进程
Oct 01 面试题
在C#中如何实现多态
Jul 02 面试题
Linux面试经常问的文件系统操作命令
Oct 04 面试题
为什么需要版本控制
Oct 28 面试题
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
Oct 17 面试题
请说出这段代码执行后a和b的值分别是多少
Mar 28 面试题
什么是抽象
Dec 13 面试题
程序员跳槽必看面试题总结
Jun 28 面试题
什么是GWT的Entry Point
Aug 16 #面试题
AJAX的优缺点都有什么
Aug 18 #面试题
DOM和JQuery对象有什么区别
Nov 11 #面试题
主要的Ajax框架都有什么
Nov 14 #面试题
如何用JQuery进行表单验证
May 29 #面试题
Ajax主要包含了哪些技术
Jun 12 #面试题
如何整合JQuery和Prototype
Jan 31 #面试题
You might like
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
2009/01/30 PHP
从手册去理解分析PHP session机制
2011/07/17 PHP
关于PHP语言构造器介绍
2013/07/08 PHP
php接口与接口引用的深入解析
2013/08/09 PHP
php导出word文档与excel电子表格的简单示例代码
2014/03/08 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
php readfile下载大文件失败的解决方法
2017/05/22 PHP
通过JAVAScript实现页面自适应
2007/01/19 Javascript
js跟随滚动条滚动浮动代码
2009/12/31 Javascript
当滚动条滚动到页面底部自动加载增加内容的js代码
2014/05/13 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
2015/11/25 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
2016/05/16 Javascript
js获取html的span标签的值方法(超简单)
2016/07/26 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
2017/10/17 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
基于JavaScript实现简单的音频播放功能
2018/01/07 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
2018/02/21 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
python正则分组的应用
2013/11/10 Python
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
简介Python的collections模块中defaultdict类型的用法
2016/07/07 Python
python中kmeans聚类实现代码
2018/02/23 Python
Python3 中把txt数据文件读入到矩阵中的方法
2018/04/27 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
NET程序员上机面试题
2015/05/23 面试题
垃圾桶标语
2014/06/24 职场文书
培训班通知
2015/04/25 职场文书
关于国庆节的广播稿
2015/08/19 职场文书
美德少年主要事迹材料
2015/11/04 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server
Vue的过滤器你真了解吗
2022/02/24 Vue.js