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 Array(数组)相关方法简述
Jul 25 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
May 05 Javascript
javascript实用小函数使用介绍
Nov 11 Javascript
jquery实现未经美化的简洁TAB菜单效果
Aug 28 Javascript
jquery+json实现动态商品内容展示的方法
Jan 14 Javascript
JavaScript实现页面定时刷新(定时器,meta)
Oct 12 Javascript
详解Vue中状态管理Vuex
May 11 Javascript
jQuery选择器之属性筛选选择器用法详解
Sep 19 jQuery
vue input实现点击按钮文字增删功能示例
Jan 29 Javascript
js实现删除li标签一行内容
Apr 16 Javascript
微信小程序云开发实现云数据库读写权限
May 17 Javascript
layer的prompt弹出框,点击回车,触发确定事件的方法
Sep 06 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 ajax 静态分页过程形式
2011/09/02 PHP
linux iconv方法的使用
2011/10/01 PHP
PHP+MySQL投票系统的设计和实现分享
2012/09/23 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
2014/09/27 PHP
出现“不能执行已释放的Script代码”错误的原因及解决办法
2007/08/29 Javascript
nodejs实现遍历文件夹并统计文件大小
2015/05/28 NodeJs
Node.js实现JS文件合并小工具
2016/02/02 Javascript
textarea 在浏览器中固定大小和禁止拖动的实现方法
2016/12/03 Javascript
javascript深拷贝、浅拷贝和循环引用深入理解
2018/05/27 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
vue插槽slot的简单理解与用法实例分析
2020/03/14 Javascript
使用Python脚本实现批量网站存活检测遇到问题及解决方法
2016/10/11 Python
Python md5与sha1加密算法用法分析
2017/07/14 Python
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
Django 1.10以上版本 url 配置注意事项详解
2019/08/05 Python
python 实现绘制整齐的表格
2019/11/18 Python
python操作cfg配置文件方式
2019/12/22 Python
python集合删除多种方法详解
2020/02/10 Python
python随机模块random使用方法详解
2020/02/14 Python
django API 中接口的互相调用实例
2020/04/01 Python
Python restful框架接口开发实现
2020/04/13 Python
解决python父线程关闭后子线程不关闭问题
2020/04/25 Python
Python的collections模块真的很好用
2021/03/01 Python
使用CSS3的appearance属性改变元素的外观的方法
2015/12/12 HTML / CSS
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
计算机专业自荐信
2013/10/14 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
留守儿童工作方案
2014/06/02 职场文书
出纳试用期工作总结2015
2015/05/28 职场文书
2016年优秀班主任先进事迹材料
2016/02/26 职场文书
python中pandas对多列进行分组统计的实现
2021/06/18 Python
Vue h函数的使用详解
2022/02/18 Vue.js
我家女友可不止可爱呢 公开OP主题曲无字幕动画MV
2022/04/11 日漫
JS前端canvas交互实现拖拽旋转及缩放示例
2022/08/05 Javascript