jQuery插件开发

jQuery是当今使用最广泛的js插件之一

jQuery之所以是使用率最高的第三方库的原因就在于,jQuery 允许我们对其 扩展额外的功能,也就是说我们可以自定义编写插件

那么什么是jQuery插件

简单的说,就是给jQuery 扩展 新方法

自定义插件的实现

jQuery自定义插件 方要有两种方式:

1.通过 $.extend() 来扩展 jQuery,添加 的都是静态方法

2.通过 $.fn() 来扩展 jQuery ,重点要掌握这个

//$.extenc() 等价于 jQuery.extend()

//利用$.extend() 扩展的方法,都用$ 或者 jQuery直接调用

//扩展一个打印方法

$.extend({

    staticPrint : function( message ){

             console.log(message);

    }

});

//使用 已经扩展好的方法

$.staticPrint(" 今晚 打考虑!");


//$.fn  等价于 jQeury.fn

/*

      重点

         $.fn 等价于 jQuery.prototype

        $.fn 相当于 jQuery的构造函数的  prototype 属性 添加 了一个方法,也就是 ,所有jQuery对象 都可以通过 $.fn扩展方法

*/

//基本语法

$.fn.myPlugin = function(){

          console.log("我的插件!");

}

//只能用jQuery 调用 

$("body").myPlugin();

/*

注意:以上那种写法不好,以后写插件,要采用以下方法

$          window        document  是分别传进来的jQuery对象  window对象  document对象

这样写的好处:可以加快 代码的执行速度

分号;  是防止 将来代码压缩 或者  和防止 插件没有正确 结尾导致的一些问题

*/

;( function( $ , window , document ){

//开始写插件

$.fn.print = function( message ){

//this就是当前对象,也就是所选元素,因为我们会通过  选择器获取 相应的元素后 (jQuery对象),再调用 扩展的print方法,原理来构造函数 添加 原型方法 一模一样

             console.log($(this).html()  "---" + message);

            console.log("开始,写插件!");

          //如果想要支持 链式语法的话,那么 得返回 当前对象 , 也就是 当前所选的元素

          return this;

}

}( jQuery , window, document);


//使用

$("p").print("参数");

$("p").print("参数").html("更改内容");

你可能感兴趣的:(jQuery插件开发)