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 相关文章推荐
文字不间断滚动(上下左右)实例代码
Apr 21 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
Jan 13 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
Feb 25 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
Jan 28 Javascript
JS匿名函数实例分析
Nov 26 Javascript
JavaScript严格模式详解
Jan 16 Javascript
ES6学习笔记之Set和Map数据结构详解
Apr 07 Javascript
jquery submit()不能提交表单的解决方法
Apr 24 jQuery
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
Dec 06 Javascript
angularjs中判断ng-repeat是否迭代完的实例
Sep 12 Javascript
js实现无缝滚动双图切换效果
Jul 09 Javascript
vue-cli3中配置alias和打包加hash值操作
Sep 04 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将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
thinkphp 一个页面使用2次分页的实现方法
2013/07/15 PHP
php json_encode()函数返回json数据实例代码
2014/10/10 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
Javascript &amp; DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
2007/06/02 Javascript
让Firefox支持event对象实现代码
2009/11/07 Javascript
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
js调用后台servlet方法实例
2013/06/09 Javascript
用Js实现的动态增加表格示例自己写的
2013/10/21 Javascript
js登录弹出层特效
2014/03/07 Javascript
jquery复选框checkbox实现删除前判断
2014/04/20 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
jQuery实现的简单百分比进度条效果示例
2016/08/01 Javascript
Vue.js组件tab实现选项卡切换
2020/03/23 Javascript
浅谈js中的bind
2019/03/18 Javascript
vue路由插件之vue-route
2019/06/13 Javascript
微信小程序商品详情页底部弹出框
2019/11/22 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
2020/05/28 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
python中对list去重的多种方法
2014/09/18 Python
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
python3实现名片管理系统
2020/11/29 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
2019/08/18 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
python 解决flask 图片在线浏览或者直接下载的问题
2020/01/09 Python
Tensorflow轻松实现XOR运算的方式
2020/02/03 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
python中pivot()函数基础知识点
2021/01/03 Python
Stuart Weitzman欧盟:美国奢华鞋履品牌
2017/05/24 全球购物
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
跟单文员岗位职责
2014/01/03 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
小时代观后感
2015/06/10 职场文书
教师实习自我鉴定总结
2019/08/20 职场文书