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

面试题 相关文章推荐
面向对象编程OOP的优点
Jan 22 面试题
描述一下JVM加载class文件的原理机制
Dec 08 面试题
abstract class和interface有什么区别?
Jan 03 面试题
说出一些常用的类,包,接口
Sep 22 面试题
Java的for语句中break, continue和return的区别
Dec 19 面试题
查询优化的一般准则有哪些
Mar 08 面试题
简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么?
Nov 20 面试题
线程问题:wait()方法是定义在哪个类里面
Jul 07 面试题
万户网络JAVA程序员岗位招聘笔试试卷
Jan 08 面试题
程序员跳槽必看面试题总结
Jun 28 面试题
J2EE模式面试题
Oct 11 面试题
介绍一下Ruby的多线程处理
Feb 01 面试题
什么是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
帅气的琦玉老师
2020/03/02 日漫
十天学会php之第八天
2006/10/09 PHP
PHP5各个版本的新功能和新特性总结
2014/03/16 PHP
学习php开源项目的源码指南
2014/12/21 PHP
smarty内置函数config_load用法实例
2015/01/22 PHP
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
PHP array_reduce()函数的应用解析
2018/10/28 PHP
PHP PDOStatement::bindColumn讲解
2019/01/30 PHP
PHP count_chars()函数讲解
2019/02/14 PHP
js 内存释放问题
2010/04/25 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
2011/04/14 Javascript
非常有用的40款jQuery 插件推荐(系列二)
2011/12/25 Javascript
JS前端框架关于重构的失败经验分享
2013/03/17 Javascript
js实例属性和原型属性示例详解
2014/11/23 Javascript
Js控制滑轮左右滑动实例
2015/02/13 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
详解Bootstrap创建表单的三种格式(一)
2016/01/04 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
vue.js实现插入数值与表达式的方法分析
2018/07/06 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
JavaScript实现简单动态表格
2020/12/02 Javascript
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
python如何爬取个性签名
2018/06/19 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
CSS3绘制有活力的链接下划线
2016/07/14 HTML / CSS
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
捷克购买家具网站:JENA nábytek
2020/03/19 全球购物
香港士多网上超级市场:Ztore
2021/01/09 全球购物
大学运动会通讯稿
2014/01/28 职场文书
考试作弊检讨书大全
2014/02/18 职场文书
家教广告词
2014/03/19 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法
2022/06/14 MySQL