当前位置: 首页 > news >正文

jQuery中$.fn的用法示例介绍

$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。

如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法,那么后面你的每一个jquery实例都可以引用这个方法了.

那么你可以这样子:$("#div").abc();

 

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

 

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

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

 

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

复制代码 代码如下:

 

jQuery.fn = jQuery.prototype ={

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

   //......

};

 

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

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

 

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

复制代码 代码如下:

 

$.extend({

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

});

 

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

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

 

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

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

 

jQuery代码

复制代码 代码如下:

 

$.fn.extend({

 

alertWhileClick:function(){

 

$(this).click(function(){

 

alert($(this).val());

});

}

});

转载于:https://www.cnblogs.com/lcyuhe/p/5165718.html

相关文章:

  • 详解dbms_stats.gather_fixed_objects_stats
  • 【转】Objective-C消息机制的原理
  • ASP.NET MVC URL Routing 学习
  • Unsupported repository,resources names are not uri
  • POJ-3034 Whac-a-Mole 动态规划
  • Android客户端采用Http 协议Post方式请求与服务端进行数据交互
  • 约定一种格式,通过约定的格式来实现一些动作,以达到作者的目的。--程序...
  • Oracle创建索引必知——献给数据库开发者
  • 友友系统:让云计算更加贴近用户
  • 同时展多个物料BOM List
  • RHEL6入门系列之十四,用户和组的基本知识
  • easyui-datagrid 报错:TypeError: col is null
  • 腾讯调整移动事业群,王小川送马化腾一记归属
  • swift学习笔记之UILabel
  • js解析与序列化json数据(二)
  • ➹使用webpack配置多页面应用(MPA)
  • CentOS7 安装JDK
  • gcc介绍及安装
  • JavaScript 奇技淫巧
  • Javascript弹出层-初探
  • js递归,无限分级树形折叠菜单
  • Laravel核心解读--Facades
  • opencv python Meanshift 和 Camshift
  • Python 反序列化安全问题(二)
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • vue 个人积累(使用工具,组件)
  • Vue 重置组件到初始状态
  • Vue2.x学习三:事件处理生命周期钩子
  • 前端自动化解决方案
  • 全栈开发——Linux
  • 自制字幕遮挡器
  • 【干货分享】dos命令大全
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​iOS实时查看App运行日志
  • #NOIP 2014# day.2 T2 寻找道路
  • #Z0458. 树的中心2
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (003)SlickEdit Unity的补全
  • (4) PIVOT 和 UPIVOT 的使用
  • (day6) 319. 灯泡开关
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET CF命令行调试器MDbg入门(一)
  • .NET 药厂业务系统 CPU爆高分析
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .NET学习全景图
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • ??javascript里的变量问题
  • @Bean有哪些属性
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @DataRedisTest测试redis从未如此丝滑
  • [ Linux ] Linux信号概述 信号的产生