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后,便实现了扩展。
以上是关于jQuery插件扩展方法的主要内容,如果未能解决你的问题,请参考以下文章