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

面试题 相关文章推荐
JDO的含义
Nov 17 面试题
super()与this()的区别
Jan 17 面试题
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
Sep 11 面试题
我能否用void** 指针作为参数, 使函数按引用接受一般指针
Feb 16 面试题
西部世纪.net笔试题面试题
Apr 03 面试题
C#如何进行LDAP用户校验
Nov 21 面试题
介绍一下linux文件系统分配策略
Feb 25 面试题
软件测试英文面试题
Oct 14 面试题
Python面试题集
Mar 08 面试题
一套中级Java程序员笔试题
Jan 14 面试题
Java基础知识面试题
Mar 25 面试题
UNIX文件名称有什么规定
Mar 25 面试题
什么是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
web目录下不应该存在多余的程序(安全考虑)
2012/05/09 PHP
PHP与Java进行通信的实现方法
2013/10/21 PHP
php中curl使用指南
2015/02/05 PHP
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
2011/01/12 Javascript
键盘KeyCode值列表汇总
2013/11/26 Javascript
window.open()详解及浏览器兼容性问题示例探讨
2014/05/29 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
解决JQuery全选/反选第二次失效的问题
2017/10/11 jQuery
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
详解webpack+express多页站点开发
2017/12/22 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
Js逆向实现滑动验证码图片还原的示例代码
2020/03/10 Javascript
详解Python中用于计算指数的exp()方法
2015/05/14 Python
Python的Flask站点中集成xhEditor文本编辑器的教程
2016/06/13 Python
python3编码问题汇总
2016/09/06 Python
浅谈python中的正则表达式(re模块)
2017/10/17 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
PyCharm 设置SciView工具窗口的方法
2019/01/15 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
Python线程指南分享
2019/11/19 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
2020/03/02 Python
python数据库编程 ODBC方式实现通讯录
2020/03/27 Python
利于python脚本编写可视化nmap和masscan的方法
2020/12/29 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
幼儿园实习生辞职信
2014/01/20 职场文书
运动会解说词100字
2014/01/31 职场文书
文明礼仪演讲稿
2014/05/12 职场文书
2015年社区综治宣传月活动总结
2015/03/25 职场文书
《小摄影师》教学反思
2016/02/18 职场文书
高二英语教学反思
2016/03/03 职场文书
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android