zoukankan      html  css  js  c++  java
  • Jquery插件开发 菜鸟

    文/饥人谷_韩宝亿(简书作者)
    原文链接:http://www.jianshu.com/p/e773db0d1c98
    著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

    一、什么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').

  • 相关阅读:
    使用Objectivec Block
    NSBundle的使用,注意mainBundle和Custom Bundle的区别
    根据名称加载界面
    java获取运行的jar(class)文件的路径
    xamppcontrol中启动Apache时80断口被占用的错误
    [转]利用location的hash值来解决Ajax两大难题
    JAVA 调用Web Service的方法
    asp.net mail
    很是无奈
    憨山大师的醒世咏
  • 原文地址:https://www.cnblogs.com/hanbaoyi/p/5288031.html
Copyright © 2011-2022 走看看