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 12 Javascript
JS 用6N±1法求素数 实例教程
Oct 20 Javascript
jQuery客户端分页实例代码
Nov 18 Javascript
javascript实现对表格元素进行排序操作
Nov 18 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
May 16 Javascript
vue的toast弹窗组件实例详解
May 14 Javascript
用vue快速开发app的脚手架工具
Jun 11 Javascript
使用vue2.0创建的项目的步骤方法
Sep 25 Javascript
koa2 从入门到精通(小结)
Jul 23 Javascript
JS数组方法join()用法实例分析
Jan 18 Javascript
JavaScript检测浏览器是否支持CSS变量代码实例
Apr 03 Javascript
JavaScript图像放大镜效果实现方法详解
Jun 28 Javascript
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留言本实例代码
2010/05/09 PHP
PHP判断远程图片或文件是否存在的实现代码
2014/02/20 PHP
PDO防注入原理分析以及注意事项
2015/02/25 PHP
javascript 三种编解码方式
2010/02/01 Javascript
JS实现self的resend
2010/07/22 Javascript
js注意img图片的onerror事件的分析
2011/01/01 Javascript
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
2011/10/23 Javascript
Jquery实现自定义tooltip示例代码
2014/02/12 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
2016/06/07 Javascript
AngularJS基础 ng-if 指令用法
2016/08/01 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
2016/12/23 Javascript
详解关于React-Router4.0跳转不置顶解决方案
2019/05/10 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
2019/09/04 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
Python将xml和xsl转换为html的方法
2015/03/10 Python
Python进行数据科学工作的简单入门教程
2015/04/01 Python
深入讲解Python中面向对象编程的相关知识
2015/05/25 Python
在Python的Django框架中包装视图函数
2015/07/20 Python
提升Python程序性能的7个习惯
2019/04/14 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
keras做CNN的训练误差loss的下降操作
2020/06/22 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
英国音乐设备和乐器商店:Gear4music
2017/10/16 全球购物
英国日常交易网站:Wowcher
2018/09/04 全球购物
园艺师求职信
2014/03/10 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
美容院合作经营协议书
2014/10/10 职场文书
党员年终个人总结
2015/02/14 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
迎国庆主题班会
2015/08/17 职场文书
《为人民服务》教学反思
2016/02/20 职场文书