javascript的fn方法(转)

news/2024/8/26 16:29:09

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

 

jQuery.fn.extend(object);

jQuery.extend(object);

 

jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。

jQuery.fn.extend(object);给jQuery对象添加方法。

 

 

fn 是什么东西呢。查看jQuery代码,就不难发现。

 

jQuery.fn = jQuery.prototype = {

   init: function( selector, context ) {//.... 

   //......

};

 

原来 jQuery.fn = jQuery.prototype.对prototype肯定不会陌生啦。

 

虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便。

jQuery便是一个封装得非常好的类,比如我们用 语句 $("#btn1") 会生成一个 jQuery类的实例。

 

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

 

$.extend({

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

});

 

便为 jQuery 添加一个为 add 的 “静态方法”,之后便可以在引入 jQuery 的地方,使用这个方法了,

$.add(3,4);  //return 7

 

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

比如我们要开发一个插件,做一个特殊的编辑框,当它被点击时,便alert 当前编辑框里的内容。可以这么做:

Java代码 
  1. $.fn.extend({    
  2.     
  3.    alertWhileClick:function(){    
  4.    
  5.        $(this).click(function(){    
  6.    
  7.             alert($(this).val());    
  8.         });    
  9.     
  10.     }    
  11.     
  12. });    
  13.     
  14. $("#input1").alertWhileClick(); //页面上为:<input id="input1" type="text"/>   

 

 

$("#input1") 为一个jQuery实例,当它调用成员方法 alertWhileClick后,便实现了扩展,每次被点击时它会先弹出目前编辑里的内容。

 

真实的开发过程中,当然不会做这么小白的插件,事实上jQuery提拱了丰富的操作文档,事件,CSS ,Ajax、效果的方法,结合这些方法,便可以开发出更加 Niubility 的插件。


http://www.niftyadmin.cn/n/4821454.html

相关文章

typedef的常用用法

1.常规变量类型定义 例如&#xff1a;typedef unsigned char uchar 描述&#xff1a;uchar等价于unsigned char类型定义 uchar c声明等于unsigned char c声明 2.数组类型定义 例如&#xff1a; typedef int array[2]; 描述&#xff1a; array等价于 int [2]定义; …

Spark-Shell交互式客户端

启动交互shell [roothdp-1 bin]# ./spark-shell --master spark://hdp-2:7077 --executor-memory 500m --total-executor-cores 1 --master spark://hdp-2:7077 sparkmaster节点的地址 --executor-memory 500m --total-executor-cores 1 运行wordcount程序 sc.textFil…

查看Centos系统最近一次启动时间和运行时间

1.uptime命令[sql] view plaincopy [sparkMaster Log_Data]$ uptime 09:18:01 up 20:17, 1 user, load average: 0.13, 0.12, 0.14 2.查看/proc/uptime文件计算系统启动时间[sql] view plaincopy [sparkMaster Log_Data]$ cat /proc/uptime 73064.44 276161.85 输出: 73…

解决 | Beyond Compare打开报错

Beyond Compare打开报错 删除C:\Users\Administrator\AppData\Roaming\Scooter Software\Beyond Compare 3下的所有文件

CentOS系统资源常用命令

系统&#xff1a; # uname -a # 查看内核/操作系统/CPU信息 # cat /etc/issue # cat /etc/redhat-release # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod …

Azure ARM (5) ARM Template初探 - 本地JSON Template文件(1)

《Windows Azure Platform 系列文章目录》 Azure ARM (1) 概览 Azure ARM (2) 概览 Azure ARM (3) ARM支持的服务类型 Azure ARM (4) 开始创建ARM Resource Group并创建存储账户 本文需要的ARM Template&#xff0c;在这里下载。 在之前的文章里&#xff0c;笔者介绍了&#xf…

Unity3D笔记 愤怒的小鸟一场景切换

新建3个场景&#xff0c;场景1 Start 十秒后自动切换到场景2 Splash&#xff0c;场景2在二秒后自动切换到场景3 Selection 一、场景一Start 二、场景2 Splash 三、场景3 Selection 四、步骤 1、场景1和场景2 各自创建一个GUI Texture命名为logo下一步在Images文件夹中找到相应图…

Oracle Client安装与基本配置

1. 安装Oracle Client, 访问Oracle站点下载Oracle Database 11g Release 2 Client 或者&#xff08;直接下载Oracle 11gR2 Client&#xff09; 2. 下载解压后&#xff0c;点击Setup.exe 3. 安装类型中选择管理员或定制 4. 选择安装语言 5. 指定安装位置 6. 点击完成进行安装 7.…