jQuery_插件扩展
来源:互联网 发布:ubuntu锐捷认证失败 编辑:程序博客网 时间:2024/05/22 13:48
1. 什么是插件扩展?
jQuery作为一个插件,主要的目的是为了使前端的开发变得更加容易。在jQuery中主要的核心只有:选择器操作、dom操作、ajax(异步请求)以及事件。但是我们在开发中往往需要用到很多功能是jQuery库所没有的,比如常用的表单校验等,所以jQuery给我们提供了一些接口,方便我们去扩展它的功能。
2. jQuery插件开发主要
第一种开发方式最简单。我们最常用的插件开发方式是第二种,相对于第三种开发方式比较简单。第三种插件开发方式主要是用来开发更高级的jQuery部件的。
<1>通过$.extend()来扩展jQuery
在jQuery命名空间添加一个方法(可以理解成类似想jQuery身上添加静态方法),所以我们通过$.extend()添加函数时,直接通过$符号调用($.myfunction())而不需要选中DOM元素($(“#example”).myfunction())。例如:
$.extend({ sayHello:function(name){ console.log("Hello,"+(name?name:"盯裆猫")+"!!!"); return this; }})$.sayHello(); //Hello,盯裆猫!!!$.sayHello("ZZ"); //Hello,ZZ!!!
<2>通过$.fn 向jQuery添加新的方法
这个插件开发类型的基本写法:
//该类型的插件开发的基本格式$.fn.myPlugin = function(){ //具体的代码 //this.css("color","green"); //在这里this是指jQuery选中的那些元素,比如:$("a"),则this=$("a")}//调用方法$("元素").myPlugin();//调用编写的插件,类似于jQuery一样。
(PS)关于this的理解:
在插件名字定义的这个函数的内部,this指代的是我们在调用该插件时,用jQuery选中的元素,一般都是个Object类型的集合。如果在这个函数的内部又有循环,则在外部this依旧是指代jQuery选中的元素,而在内部this是指选中的具体元素。
比如$(“a”)返回的是页面上所有a标签的集合,并且这个集合是被jQuery包装过了的。所以我们对其进行操作的时候,可以直接调用jQuery的方法而不用再用$将其包装成jQuery对象。
<3>通过$.widget()应用jQuery UI的部件工厂方式创建
这个方法过难,而且不常用,这边不介绍。
3. 满足链式调用的jQuery插件
链式调用是jQuery最大的特色之一,我们在写jQuery插件的时候应该尽量靠近这种规范。实现链式调用最关键的一行代码是在最后添加return this;
,插件中加了这行代码,那么在插件执行完毕之后,把当前的jQuery对象返回。这样就能继续使用jQuery方法,达到链式调用的目的。
4.一点建议
$.extend方法和$.fn.extend方法都可以用来扩展jQuery功能,通过阅读jQuery源码我们可以发现这两个方法的本质区别,那就是$.extend方法是在jQuery全局对象上扩展方法,$.fn.extend方法是在$选择符选择的jQuery对象上扩展方法。所以扩展jQuery的公共方法一般用$.extend方法,定义插件一般用$.fn.extend方法。
- jQuery_插件扩展
- jQuery_统计图插件-flot
- jQuery_统计图插件-jscharts
- jQuery_统计图插件-visifire
- jQuery_统计图插件-jfreechart
- jQuery_统计图插件-Highcharts
- JQuery_插件ajaxfileupload
- jQuery_统计图插件-JavaScript Charts
- jQuery_统计图插件-fusioncharts-free
- jQuery_统计图插件-chart.js
- jQuery_统计图插件-Prototype Javascript Framework
- jQuery_统计图插件-XML/SWF Charts
- jQuery_固定行表头列表头表格插件
- 插件扩展
- jquery_$.ajax
- jQuery_动画
- jQuery_选择器
- jQuery_样式
- Linux 用户ID和组ID
- hadoop单机安装
- java全自动生成krpano全景漫游
- PHP开发环境搭建--Windows
- Qt5.2应用SQLite小结
- jQuery_插件扩展
- 共享单车管理系统
- 正则表达式
- Java中List Set Map 是否有序等总结
- Linux内核中的互斥操作(1)——信号量
- java基础二分法查找
- 常用快捷键以及其对应的英文名称
- C
- 深入理解Java中的i++、++i语句