Jquery插件写法笔记整理


Posted in Javascript onSeptember 06, 2012

jQuery插件类型:
1. jQuery方法:
大部分jQuery插件都是这种类型的插件,由于这种插件是将对象方法封装起来,在jQuery选择器获取jQuery对象过程中进行操作,从而发挥jQuery强大的选择器优势。
2. 全局函数:
也可以把自定义的功能函数独立附加到jQuery命名空间下,从而作为jQuery作用域下的一个公共函数使用。但全局函数没有被绑定到jQuery对象上,故不能在选择器获取的jQuery对象上调用。需要通过jQuery.fn()或$.fn()方式进行引用。
3. 选择器:
觉得jQuery提供的选择器不够用,或不方便的话,可以考虑自定义选择器。
jQuery插件机制:
① jQuery.extend()方法:能够创建全局函数或选择器。
By:所谓全局函数,就是jQuery对象的方法,实际上就是位于jQuery命名空间内部的函数,有人把这类函数称为实用工具函数,这些函数都有一个共同特征,就是不直接操作DOM元素,而是操作Javascript的非元素对象,或者执行其他非对象的特定操作,如jQuery的each()函数和noConflict()函数
例:在jQuery命名空间上创建两个公共函数

jQuery.extend({ 
minValue : function(a,b){ 
return a<b?a:b; 
}, 
maxValue : function(a,b){ 
return a<b?b:a; 
} 
}) 
$(function(){ 
$("input").click(function(){ 
var a = prompt("请输入一个数值?"); 
var b = prompt("请再输入一个数值?"); 
var c = jQuery.minValue(a,b); 
var d = jQuery.maxValue(a,b); 
alert("你输入的最大值是:" + d + "\n你输入的最小值是:" + c); 
}); 
}) 
<input type="button" value="jQuery插件扩展测试" />

※ jQuery.extend()方法除了可以创建插件外,还可以用来扩展jQuery对象。
例如:调用jQuery.extend()方法把对象a和对象b合并为一个新的对象,并返回合并对象将其赋值给变量c
var a = {name : "zhu",pass : 123} 
var b = {name : "wang",pass : 456,age : 1} 
var c = jQuery.extend(a,b); 
$(function(){ 
for(var name in c){ 
$("div").html($("div").html() + "<br />"+ name + ":" + c[name]); 
} 
})

例:创建jQuery全局函数
jQuery.css8 = { 
minValue : function(a,b){ 
return a<b?a:b; 
}, 
maxValue : function(a,b){ 
return a<b?b:a; 
} 
} 
$(function(){ 
$("input").click(function(){ 
var a = prompt("请输入一个数值?"); 
var b = prompt("请再输入一个数值?"); 
var c = jQuery.css8.minValue(a,b); 
var d = jQuery.css8.maxValue(a,b); 
alert("你输入的最大值是:" + d + "\n你输入的最小值是:" + c); 
}); 
})

By:如果要向jQuery命名空间上添加一个函数,只需要将这个新函数制定为jQuery对象的一个属性即可。其中jQuery对象名也可以简写为$,jQuery.css8==$.css8
② jQuery.fn.extend()方法:能够创建jQuery对象方法。
例:来个最简单的jQuery对象方法
jQuery.fn.test = function(){ 
alert("这是jQuery对象方法!"); 
} 
$(function(){ 
$("div").click(function(){ 
$(this).test(); 
}); 
})
Javascript 相关文章推荐
关于JS判断图片是否加载完成且获取图片宽度的方法
Apr 09 Javascript
js动态给table添加/删除tr的方法
Aug 02 Javascript
js控制表单不能输入空格的小例子
Nov 20 Javascript
JS获取URL中的参数数据
Dec 05 Javascript
教你使用javascript简单写一个页面模板引擎
May 05 Javascript
js实现获取鼠标当前的位置
Dec 14 Javascript
简单实现Vue的observer和watcher
Dec 21 Javascript
微信小程序 欢迎页面的制作(源码下载)
Jan 09 Javascript
原生js实现日期计算器功能
Feb 17 Javascript
微信小程序 参数传递实例代码
Mar 20 Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
Jun 01 jQuery
nuxt.js写项目时增加错误提示页面操作
Nov 05 Javascript
基于jquery的用鼠标画出可移动的div
Sep 06 #Javascript
js防止表单重复提交实现代码
Sep 05 #Javascript
javascript面向对象入门基础详细介绍
Sep 05 #Javascript
说说JSON和JSONP 也许你会豁然开朗
Sep 02 #Javascript
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
Sep 02 #Javascript
Javascript中的delete介绍
Sep 02 #Javascript
JS判断当前日期是否大于某个日期的实现代码
Sep 02 #Javascript
You might like
codeigniter使用技巧批量插入数据实例方法分享
2013/12/31 PHP
php使用curl通过代理获取数据的实现方法
2016/05/16 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
js判断浏览器类型的方法
2013/08/07 Javascript
JSONP跨域的原理解析及其实现介绍
2014/03/22 Javascript
基于ajax实现文件上传并显示进度条
2015/08/03 Javascript
JavaScript实现刷新不重记的倒计时
2016/08/10 Javascript
AngularJS解决ng界面长表达式(ui-set)的方法分析
2016/11/07 Javascript
深入理解ES7的async/await的用法
2017/09/09 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
vue滑动吸顶及锚点定位的示例代码
2020/05/10 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
2020/05/20 Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
2020/07/20 Javascript
基于JavaScript的数据结构队列动画实现示例解析
2020/08/06 Javascript
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
Python备份目录及目录下的全部内容的实现方法
2016/06/12 Python
python中通过预先编译正则表达式提高效率
2017/09/25 Python
详解Python中的动态属性和特性
2018/04/07 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
Kali Linux安装ipython2 和 ipython3的方法
2019/07/11 Python
python自动发微信监控报警
2019/09/06 Python
Python求解正态分布置信区间教程
2019/11/20 Python
PyQt使用QPropertyAnimation开发简单动画
2020/04/02 Python
解决Keras 自定义层时遇到版本的问题
2020/06/16 Python
CSS3制作酷炫的三维相册效果
2016/07/01 HTML / CSS
Lookfantastic俄罗斯:欧洲在线化妆品零售商
2019/08/06 全球购物
syb养殖创业计划书
2014/01/09 职场文书
岗位职责怎么写
2014/03/14 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
学校2014年度工作总结
2014/12/06 职场文书
公司开会通知
2015/04/20 职场文书
CSS3常见动画的实现方式
2021/04/14 HTML / CSS
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python