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 相关文章推荐
cnblogs 代码高亮显示后的代码复制问题解决实现代码
Dec 14 Javascript
Three.js源码阅读笔记(基础的核心Core对象)
Dec 27 Javascript
jquery 操作两个select实现值之间的互相传递
Mar 07 Javascript
JavaScript中的数学运算介绍
Dec 29 Javascript
jQuery mobile 移动web(4)
Dec 20 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
Sep 20 Javascript
js实现带简单弹性运动的导航条
Feb 22 Javascript
浅谈Node.js轻量级Web框架Express4.x使用指南
May 03 Javascript
js评分组件使用详解
Jun 06 Javascript
vue请求服务器数据后绑定不上的解决方法
Oct 30 Javascript
微信小程序canvas分享海报功能
Oct 31 Javascript
vue导航栏部分的动态渲染实例
Nov 01 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
smtp邮件发送一例
2006/10/09 PHP
Linux编译升级php的详细方法
2013/11/04 PHP
ThinkPHP标签制作教程
2014/07/10 PHP
PHP常见错误提示含义解释(实用!值得收藏)
2016/04/25 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
Prototype String对象 学习
2009/07/19 Javascript
javascript,jquery闭包概念分析
2010/06/19 Javascript
Event altKey,ctrlKey,shiftKey属性解析
2013/12/18 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
javascript中对Date类型的常用操作小结
2016/05/19 Javascript
vue2.X组件学习心得(新手必看篇)
2017/07/05 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
python用字典统计单词或汉字词个数示例
2014/04/22 Python
用Python解决计数原理问题的方法
2016/08/04 Python
不要用强制方法杀掉python线程
2017/02/26 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
2017/05/18 Python
pytorch对可变长度序列的处理方法详解
2018/12/08 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
Cotton On美国网站:澳洲时装连锁品牌
2016/10/25 全球购物
Beach Bunny Swimwear官网:设计师泳装和性感比基尼
2019/03/13 全球购物
新西兰最大的天然保健及护肤品网站:HealthPost(直邮中国)
2021/02/13 全球购物
法律六进活动方案
2014/03/13 职场文书
寄语学生的话
2014/04/10 职场文书
申报优秀教师材料
2014/12/16 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
歌咏比赛口号大全
2015/12/25 职场文书
团组织关系介绍信
2019/06/24 职场文书
python3.7.2 tkinter entry框限定输入数字的操作
2021/05/22 Python