插件的种类
从广义上来说,插件分为3类,即封装方法插件、封闭函数插件、选择器插件,但最后一种很少人去开发使用,自定义的插件种类多属于前面两种。
1、封装方法插件
封装方法插件在本质上来说,是一个对象级别的插件,该类插件首先通过jQuery选择器获取对象,并为对象添加方法,然后,将方法进行打包,封装成一个插件,这种类型的插件编写简单,极易调用,也很方便地使用了jQuery中功能强大的选择器,因此,成为开发插件的首选。
2、封闭函数插件
封闭函数插件是一个类别级的插件,该类插件最大的特点,就是可以直接给jQuery添加静态方法,并且可以将函数置于jQuery命名空间中,如最为常见的就是$.ajax()、$.trim()全局性函数,都是以内部插件的性质植入jQuery内核中。
插件开发要点
1)插件的文件命名必须严格遵循jQuery.[插件名].js的规则,以便于与其他js文件的区分,如新插件文件 jquery.newplugin.js。
2)如果是对象级别插件,所有的方法都应依附于jquery.fn主体对象;如果是类级别插件,所有的方法都应依附于jquery对象。
3)无论是对象级别还是类级别插件,结尾都必须以分好结束,否则,在文件被压缩时,会出现错误提示信息。
4)在插件内部的代码中,如果要访问每个元素,可以使用this.each方法来遍历全部元素。
5)需要说明的是在插件的内部,this所代表的是通过jQuery选择器所获取的对象,而非传统意义上的对象的引用。
6)由于jQuery代码在调用方法时,可以采用链写的方法同时调用多个方法,因此,为了保证这个功能的实现,插件本身必须返回一个jQuery对象。
7)虽然“$”美元符,可以与“jQuery”字符相代替,但在编写插件的代码中,尽量不要使用“$”符号,以避免与别的代码冲突。
8)在编写对象级别的插件时,使用jQuery.fn.extend()方法进行功能扩展;而针对类级别的插件,则使用jQuery,extend()方法进行扩展。