如何开发一个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...

面试题 相关文章推荐
Java和Javasciprt的区别
Sep 02 面试题
到底Java是如何传递参数的?是by value或by reference?
Jul 13 面试题
纬创Java面试题笔试题
Oct 02 面试题
Java工程师面试集锦之Spring框架
Jun 16 面试题
凌阳科技股份有限公司C++程序员面试题笔试题
Nov 20 面试题
必须要使用游标的SQL语句有那些
May 07 面试题
一道写SQL的面试题和答案
Nov 19 面试题
在SQL Server中创建数据库主要有那种方式
Sep 10 面试题
为什么要用EJB
Apr 17 面试题
JAVA中运算符的分类及举例
Sep 12 面试题
final, finally, finalize的区别
Mar 01 面试题
大唐面试试题(CPU,UNIX等等)
Jan 11 面试题
什么是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中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
PHP中数组的分组排序实例
2014/06/01 PHP
50个PHP程序性能优化的方法
2014/06/02 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
Prototype 工具函数 学习
2009/07/23 Javascript
AJAX分页的代码(后台asp.net)
2011/02/14 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
在JS数组特定索引处指定位置插入元素的技巧
2014/08/24 Javascript
JavaScript设置表单上传时文件个数的方法
2015/08/11 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
jquery对dom节点的操作【推荐】
2016/04/15 Javascript
jQuery webuploader分片上传大文件
2016/11/07 Javascript
使用vue.js实现联动效果的示例代码
2017/01/10 Javascript
微信小程序图片宽100%显示并且不变形
2017/06/21 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
2018/03/07 Javascript
vue项目中vue-i18n和element-ui国际化开发实现过程
2018/04/25 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
使用vue脚手架(vue-cli)搭建一个项目详解
2019/05/09 Javascript
vue实现表格合并功能
2020/12/01 Vue.js
[01:00:30]TFT vs VGJ.T Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
[01:44]Ti10举办地公布
2019/08/25 DOTA
跟老齐学Python之用Python计算
2014/09/12 Python
python监控网站运行异常并发送邮件的方法
2015/03/13 Python
让Python代码更快运行的5种方法
2015/06/21 Python
深入理解python中的select模块
2017/04/23 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
Python截图并保存的具体实例
2021/01/14 Python
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
中职应届生会计求职信
2013/10/23 职场文书
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
天堂的孩子观后感
2015/06/11 职场文书
超市主管竞聘书
2015/09/15 职场文书
Python基础之教你怎么在M1系统上使用pandas
2021/05/08 Python
MySQL一些常用高级SQL语句
2021/07/03 MySQL
vue代码分块和懒加载非必要资源文件
2022/04/11 Vue.js