Jquery插件开发

本篇文章部分摘自阮一峰的Javascript标准教程--http://javascript.ruanyifeng.com/jquery/plugin.html

一、什么Jquery插件,为什么要学会写Jquery插件?

Paste_Image.png

(一)什么是插件?

所谓“插件”,就是用户自己新增的jQuery实例对象的方法。由于该方法要被所有实例共享,所以只能定义在jQuery构造函数的原型对象(prototype)之上。对于用户来说,把一些常用的操作封装成插件(plugin),使用起来会非常方便。简单的说插件即:扩展Jquery方法。

(二)为什么要学会写Jquery插件?

1、有很多自己想要的功能或者方法Jquery本身并没有提供,但是我们可以通过自己写一个插件来实现;
2、为了方便我们可以通过在网上搜到的插件来实现一些功能,但是如果那些插件不能完全满足你的需求的话我们就束手无策了!如果我们学会怎么写插件的话,我们可以通过稍微修改别人写的插件源代码就可以实现我们的需求。

二、插件的编写

(一)原理

本质上,jQuery插件是定义在jQuery构造函数的prototype对象上面的一个方法,这样做就能使得所有jQuery对象的实例都能共享这个方法。因为jQuery构造函数的prototype对象被简写成jQuery.fn对象,所以插件采用下面的方法定义。

Paste_Image.png

更好的做法是采用下面的写法,这样就能在函数体内自由使用美元符号($)。
(function ($){ $.fn.myPlugin = function (){ // Do your awesome plugin stuff here };})(jQuery);
需要注意的是,在插件内部,this关键字指的是jQuery对象的实例。而在一般的jQuery回调函数之中,this关键字指的是DOM对象。


Paste_Image.png

三、实例

Paste_Image.png

1、不同的function,this不同,要想知道this指什么,最直接的方法就是把它console.log(this);
2、判断一个this是不是Jquery实例可以: this instanceof Jquery; 如果返回true,说明它是Jquery实例;
3、这个例子的第二个this是个dom节点,要给dom节点添加Jquery方法就要把它转换成Jquery对象:$(this).hide('slow').

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 总感觉自己的jQuery用的特别流利。分分钟就能选择一个DOM元素,让页面改头换面。可让自己写个东西的时候,又写的...
    云陌阅读 3,017评论 0 7
  • 进行jQuery插件开发前,首先要知道两个问题:什么是jQuery插件?jQuery插件如何使用?第一个问题,jQ...
    留七七阅读 30,541评论 27 281
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,378评论 2 17
  • jQuery是当今使用最广泛的js插件之一 jQuery之所以是使用率最高的第三方库的原因就在于,jQuery 允...
    丁小时候阅读 3,047评论 0 1
  • jQuery的链式调用是非常好用,比如$(".class").addClass(".abc").siblings(...
    webCoder阅读 7,928评论 2 14