jquery的$.extent()方法的总结
1.jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法。
2.jQuery.fn.extend(object);给jQuery对象添加方法。
jQuery.fn = jQuery.prototype = {init: function(selector, context) {//内容}
}
2.jQuery.fn === jQuery.prototype
3.虽然 JavaScript 没有明确的类的概念,但是用类来理解它,会更方便。jQuery便是一个封装得非常好的类,比如我们用 语句$("#div1")会生成一个 jQuery类的实例。
为jQuery类添加类方法,可以理解为添加静态方法。
jQuery.extend({min: function(a, b) {return a < b ? a : b;},max: function(a, b) {return a > b ? a : b;}
});
jQuery.min(2, 3); // 2
jQuery.max(4, 5); // 5
jQuery.fn.extend(object);
就是为jQuery类添加“成员函数”。jQuery类的实例才可以调用这个“成员函数”。
比如我们要开发一个插件,做一个特殊的编辑框,当它被点击时,便alert 当前编辑框里的内容。可以这么做
$.fn.extend({alertWhileClick: function() {$(this).click(function() {alert($(this).val());});}
});
//$("#input1")是jQuery的实例,调用这个扩展方法
$("#input1").alertWhileClick();
jQuery.extend() 的调用并不会把方法扩展到对象的实例上,引用它的方法也需要通过jQuery类来实现,如jQuery.init()
jQuery.fn.extend()的调用把方法扩展到了对象的prototype上,所以实例化一个jQuery对象的时候,它就具有了这些方法,在jQuery.JS中到处体现这一点
jQuery.fn.extend = jQuery.prototype.extend
你可以拓展一个对象到jQuery的 prototype里去,这样的话就是插件机制了。
(function($) {$.fn.tooltip = function(options) {};//等价于 vartooltip = {function(options) {}};$.fn.extend(tooltip) = $.prototype.extend(tooltip) = $.fn.tooltip
})(jQuery);
jquery的$.extent()方法的总结相关推荐
- jquery的扩展方法介绍
最近一直在写js,这其中也少不了一位js的主角了jQuery,下面介绍的是jQuery的一些扩展,也就是jQuery的扩展方法,jQuery的扩展方法有两种方式,一种是jQuery本身的扩展方法,另一 ...
- jQuery通过ajax方法获取json数据不执行success的原因及解决方法
1.jquery通过ajax方法获取json数据不执行success回调 问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准 ...
- Jquery源码中的Javascript基础知识(四)— jQuery.fn.init方法
$() 即调用了jQuery.fn.init方法 jQuery = function( selector, context ) {return new jQuery.fn.init( selector ...
- jquery中not方法失效的解决方案
jquery中not方法失效的解决方案 参考文章: (1)jquery中not方法失效的解决方案 (2)https://www.cnblogs.com/xxqxxq/p/9269669.html 备忘 ...
- jQuery使用blur()方法触发两次的解决方法
jQuery使用blur()方法触发两次的解决方法 参考文章: (1)jQuery使用blur()方法触发两次的解决方法 (2)https://www.cnblogs.com/wgl1995/p/92 ...
- 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题
使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题 参考文章: (1)使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题 ( ...
- jquery 异步调用方法中不能给全局变量赋值的原因及解决办法
在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:t ...
- 理解一下jQuery.extend()和jQuery.fn.extend()方法
为了方便用户创建插件,jquery提供了jQuery.extend()和jQuery.fn.extend()方法. 1. jQuery.extend() 方法有一个重载. jQuery.extend( ...
- jquery selector 使用方法
jquery selector 使用方法 <select class="selector"></select> 1 设置value为pxx的项选中$(&qu ...
最新文章
- 与其焦虑成疾,不如静心学习
- php 升序 排序字符串,PHP asort():对数组排序(升序),并保持索引关系
- mysql 缓存机制
- 四则运算3(二柱子同学的第三炼狱)
- SAP Spartacus i18n 的文本,和翻译相关的话题:internationalization
- python扫描ip的端口打开情况
- Java 从网络上下载文件
- html5中表格如何等分,纯css3饼图五等分
- codeforces1453 E. Dog Snacks
- js 加入debug后可以进入controller_写给前端的 Nest.js 教程——10分钟上手后端接口开发
- java读取文件指定内容_Java读取文本指定的某一行内容
- 在ASP.NET网站中实现带列表(其由xml文件控制生成)的视频播放
- python爬虫爬取多个页面_Python爬虫笔记:爬取单个页面
- C#编写的一个SFTP工具类
- 图解深度学习-梯度下降学习率可视化
- html可视化编辑器 mac,Sparkle For Mac v2.8.11 强大的可视化网页编辑设计工具 _ 黑苹果乐园...
- vivado仿真时候报错Common 17-39
- 电线行业中UL单支电子线成本计算
- (附源码)ssm市级疫情防控管理 毕业设计 030957
- Notepad++安装JsonViewer插件
热门文章
- mongodb spring 超时时间_spring data mongodb 配置遇到的几个问题
- mysql如何存json格式_mysql 插数据,存json格式
- mysql8jdbc连接串_mysql8 JDBC连接注意事项
- ubuntu20更换节点_Ubuntu 20.04 apt 更换国内源的实现方法
- laravel批量插入报错:1292: Incorrect datetime value: '0000-00-00 00:00:00' for column 'TERM_DATE'
- 引用http开头的JS失败以及laravel的url()方法的坑
- java常用技术栈,HR的话扎心了
- java数组转换成字符串,附小技巧
- 【深度学习】深入浅出数字图像处理基础(模型训练的先修课)
- 机器学习(MACHINE LEARNING)MATLAB之surf()函数