jQuery插件扩展方法

Posted 前端[色色]

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery插件扩展方法相关的知识,希望对你有一定的参考价值。

jQuery为扩展插件提拱了两个方法,分别是:

  • jQuery.extend(object) —— 给jQuery对象添加方法。
  • jQuery.fn.extend(object) —— 为扩展jQuery类本身.为类添加新的方法;

 

 fn表示什么呢?下面代码是jQuery源代码中定义的fn:

jQuery.fn = jQuery.prototype = {      
   init: function( selector, context ) {    
  
   //……   
  
};   

从上面代码我们不难看出 jQuery.fn = jQuery.prototype。对于prototype肯定不会陌生, javascript没有明确的类的概念,但是为也更方便理解它我们通常会用到类。

那么有fn和没有fn有什么区别呢?

jQuery.extend(object); 为jQuery类添加添加类方法,可以理解为添加静态方法。

如以下代码:

$.extend({   
  add:function(a,b){return a+b;}   
});   

这样就表示为 jQuery 添加一个为 add 的 “静态方法”,之后便可以在引入 jQuery的地方,通过$.add();就可以使用这个方法了,

 

jQuery.fn.extend(object); 对jQuery.prototype进行扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。

如以下代码:

$.fn.extend({        
     alertWhileClick:function(){             
         $(this).click(function(){           
              alert($(this).val());        
          });              
      }              
});        

此时我们就可以通过 $(\'input\').alertWhileClick();来调用这个方法了。这个里面的$(\'input\')为jQuery的一个实例,当它调用成员方法 alertWhileClick后,便实现了扩展。

参考文档:https://www.cnblogs.com/keyi/p/6089901.html

以上是关于jQuery插件扩展方法的主要内容,如果未能解决你的问题,请参考以下文章

jQuery的noConflict以及插件扩展

如何在Angular2中使用jQuery及其插件的方法

jQuery插件开发代码

vscode插件推荐

jquery扩展方法

Jquery自定义扩展方法--HTML日历控件