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 相关文章推荐
使用Firebug对js进行断点调试的图文方法
Apr 02 Javascript
设置checkbox为只读(readOnly)的两种方式
Oct 11 Javascript
JavaScript获得指定对象大小的方法
Jul 01 Javascript
基于AngularJS实现iOS8自带的计算器
Sep 12 Javascript
微信小程序 tabs选项卡效果的实现
Jan 05 Javascript
BootStrap 动态表单效果
Jun 02 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
Jun 08 Javascript
浅谈函数调用的不同方式,以及this的指向
Sep 17 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
Dec 25 Javascript
JavaScript+H5实现微信摇一摇功能
May 23 Javascript
微信小程序用户信息encryptedData详解
Aug 24 Javascript
微信小程序如何实现全局重新加载
Jun 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
PHP 采集心得技巧
2009/05/15 PHP
PHP编码规范之注释和文件结构说明
2010/07/09 PHP
Linux编译升级php的详细方法
2013/11/04 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
php中opendir函数用法实例
2014/11/15 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
解决laravel 出现ajax请求419(unknown status)的问题
2019/09/03 PHP
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
2010/06/28 Javascript
javascript动画浅析
2012/08/30 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
jquery常用操作小结
2014/07/21 Javascript
js实现四舍五入完全保留两位小数的方法
2016/08/02 Javascript
JQuery中queue方法用法示例
2019/01/31 jQuery
[14:51]DOTA2 HEROS教学视频教你分分钟做大人-卓尔游侠
2014/06/13 DOTA
python使用PyFetion来发送短信的例子
2014/04/22 Python
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
Python中3种内建数据结构:列表、元组和字典
2014/11/30 Python
python中的字典使用分享
2016/07/31 Python
python输入多行字符串的方法总结
2019/07/02 Python
python gdal安装与简单使用
2019/08/01 Python
详解Python IO口多路复用
2020/06/17 Python
Python+unittest+requests 接口自动化测试框架搭建教程
2020/10/09 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
最新教师自我评价分享
2013/11/12 职场文书
求职信需要的五点内容
2014/02/01 职场文书
关工委先进个人事迹材料
2014/05/23 职场文书
科学发展观活动总结
2014/08/28 职场文书
个人工作总结范文2014
2014/11/07 职场文书
2014年库房工作总结
2014/11/26 职场文书
少先队大队委竞选口号
2015/12/25 职场文书
2016年班主任培训心得体会
2016/01/07 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
在Django中使用MQTT的方法
2021/05/10 Python
springboot实现string转json json里面带数组
2022/06/16 Java/Android