jQuery自定义插件详解及实例代码


Posted in Javascript onDecember 29, 2016

 jQuery自定义插件

jQuery是一个功能强大的库,提供了开发JavaScript项目所需的所有核心函数。然而,有时候我们还是需要使用自定义代码来扩展这些核心函数来提高开发效率。

jQuery库是为了加快JavaScript的开发速度而设计的,通过简化编写JavaScript的方式,减少代码量。

jQuery编写插件有两种方式

1.添加jQuery对象级别的插件,原理是给jQuery类添加方法。

写法如下:

(function($){
  $.fn.extend({
    函数名:function(自定义参数){
      //自定义插件代码部分
    }
  });
})(jQuery);
//第二种写法
(function($){
  $.fn.函数名=function(自定义参数){
    //自定义插件代码
  }
})(jQuery);

//调用方法
("#id").函数名(参数);

2.添加jQuery类级别的方法,也就是添加静态方法

写法如下:

(function($){
  $.extend({
    函数名:function(自定义参数){
      //自定义插件代码  
    }
  });
})(jQuery);
//第二种写法
(function($){
  $.函数名=function(自定义参数){
    //自定义插件代码
  }
})(jQuery);

//调用方式
$.函数名(参数);

jQuery插件的种类

1.对象级别插件开发,即给jQuery对象添加方法,封装对象方法的插件,例如:append()、val()。
2.类级别插件开发,即给jQuery添加全局函数,相当于给类本身添加方法,例如:$.ajax();

jQuery的插件机制

jQuery为开发插件提供了两种方法。

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

2. jQuery.extend(object),给jQuery类添加方法。

这两个方法接收的参数都是一个对象,类型为Object,Object里面的”名/值”分别对应”函数名/函数主体”。

fn是什么

查看jQuery源码:

<span style="font-size:12px;">jQuery.fn = jQuery.prototype = { init: function( selector, context ) {//....  //...... }; </span>

从源码中查看,可以得出:

jQuery.fn=jQuery.prototype
//fn指向jQuery对象的原型,即为jQuery类添加成员函数。

这里我写一个简单的例子来实现一个最简单的插件,仅仅是用来说明一下如何使用jQuery开发插件。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>自定义jQuery插件</title>
<script src="plugs/jquery-2.2.3.min.js"></script>
<script>
//这是一个自定义的jQuery插件
(function(){
  $.fn.extend({
    myFirst:function(){
      var s="This is my first jQuery";
      $(this).append(s);
    }
  });
})(jQuery);
</script>
</head>

<body>
<div id="i1"></div>
<script>
$("#i1").myFirst();
</script>
</body>
</html>

执行以后返回的页面为:

jQuery自定义插件详解及实例代码

以上仅仅介绍如何使用jQuery开发自定义插件,会使用以后就可以开发更复杂的插件了。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
根据地区不同显示时间的javascript代码
Aug 13 Javascript
让getElementsByName适应IE和firefox的方法
Sep 24 Javascript
jquery 合并内容相同的单元格(示例代码)
Dec 13 Javascript
详解JavaScript的回调函数
Nov 20 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
Jun 20 Javascript
MUI 上拉刷新/下拉加载功能实例代码
Apr 13 Javascript
基于node打包可执行文件工具_Pkg使用心得分享
Jan 24 Javascript
原生JS实现轮播图效果
Oct 12 Javascript
JavaScript使用ul中li标签实现删除效果
Apr 15 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
May 20 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
Nov 04 Javascript
详解Vue2的diff算法
Jan 06 Vue.js
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
Dec 29 #Javascript
JavaScript获取短信验证码(周期性)
Dec 29 #Javascript
JavaScript实现同一个页面打开多张图片
Dec 29 #Javascript
Javascript 对cookie操作详解及实例
Dec 29 #Javascript
前端 Vue.js 和 MVVM 详细介绍
Dec 29 #Javascript
javascript显示系统当前时间代码
Dec 29 #Javascript
解析JavaScript模仿块级作用域
Dec 29 #Javascript
You might like
PHP获取photoshop写入图片文字信息的方法
2015/03/31 PHP
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
深入浅析php中sprintf与printf函数的用法及区别
2016/01/08 PHP
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
对angularJs中自定义指令replace的属性详解
2018/10/09 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
vue用BMap百度地图实现即时搜索功能
2019/09/26 Javascript
[02:15]2015国际邀请赛选手档案IG.Ferrari 430
2015/07/30 DOTA
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
Python实现通讯录功能
2018/02/22 Python
python 列表删除所有指定元素的方法
2018/04/19 Python
Python利用正则表达式实现计算器算法思路解析
2018/04/25 Python
详解Python连接MySQL数据库的多种方式
2019/04/16 Python
Django对数据库进行添加与更新的例子
2019/07/12 Python
PIL图像处理模块paste方法简单使用详解
2019/07/17 Python
Python如何使用函数做字典的值
2019/11/30 Python
Python Socket TCP双端聊天功能实现过程详解
2020/06/15 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
美国购买和销售礼品卡平台:Raise
2017/01/13 全球购物
美国女性运动零售品牌:Lady Foot Locker
2017/05/12 全球购物
英文简历中的自我评价
2013/10/06 职场文书
个人评价范文分享
2014/01/11 职场文书
会计自荐信范文
2014/03/09 职场文书
房产分割协议书范文
2014/11/21 职场文书
建筑工地资料员岗位职责
2015/04/13 职场文书
2015年宣传部个人工作总结
2015/05/14 职场文书
Vue监视数据的原理详解
2022/02/24 Vue.js
基于Python实现将列表数据生成折线图
2022/03/23 Python
Python OpenCV超详细讲解读取图像视频和网络摄像头
2022/04/02 Python
React四级菜单的实现
2022/04/08 Javascript
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android