2017-07-24 更新:增加单例模式。

jquery插件开发框架代码

/** 插件编写说明:* 1、插件命名:jquery.[插件名].js,如jquery.plugin.js* 2、对象方法添加到jQuery.fn上,全局方法添加到jQuery对象本身上* 3、插件内部的this指向通过选择器获取的jQuery对象* 4、可以使用this.each遍历所有的元素* 5、所有的方法以分号结束;插件头部先添加一个分号* 6、插件应该返回一个jQuery对象,以保证插件的链式操作* 7、使用闭包形式,使用$作为jQuery的别名以避免冲突* 8、单例模式*///为了兼容性良好,开始前有个分号
;//传入jQuery是为了确保在匿名函数中正确的使用jQuery对象,防止多库共存时$冲突
//传入window、document并非必须,只不过为了更快的访问window和document
//获得没有未被修改的 'undefined',因为实际并没有传递这个参数。
(function($, win, doc, undefined) {var alertPlugin = function(opts) {//保存this变量var _self = this;//定义默认参数_self.opts = {content: '弹出内容'};//根据传入的参数扩展默认参数if(opts && $.isPlainObject(opts)) {$.extend(_self.opts, opts);}//调用函数方法
        _self.show(_self.opts);};//函数方法实现alertPlugin.prototype = {show: function(opts) {alert(opts.content);}}//扩展插件
    $.fn.extend({alertPlugin: function(opts) {//遍历所有元素return this.each(function() {//单例模式var instance;if(!instance) {instance = new alertPlugin(opts);}});}});
})(jQuery, window, document); //jQuery,window,document作为实参

插件调用

//未传递参数的调用
$('.a').alertPlugin();
//传递参数的调用
$('.a').alertPlugin({content: '新弹出内容'});

转载于:https://www.cnblogs.com/mengfangui/p/7211354.html

jquery插件开发通用框架相关推荐

  1. jQuery插件开发 - 其实很简单

    [前言] jQuery已经被广泛使用,凭借其简洁的API,对DOM强大的操控性,易扩展性越来越受到web开发人员的喜爱,我在社区也发布了很多的jQuery插件,经常有人询问一些技巧,因此干脆写这么一篇 ...

  2. 掌握jQuery插件开发,这篇文章就够了

    2019独角兽企业重金招聘Python工程师标准>>> 在实际开发工作中,总会碰到像滚动,分页,日历等展示效果的业务需求,对于接触过jQuery以及熟悉jQuery使用的人来说,首先 ...

  3. 掌握jQuery插件开发

    在实际开发工作中,总会碰到像滚动,分页,日历等展示效果的业务需求,对于接触过jQuery以及熟悉jQuery使用的人来说,首先想到的肯定是寻找现有的jQuery插件来满足相应的展示需求.目前页面中常用 ...

  4. JavaScript学习笔记(四)——jQuery插件开发与发布

    jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...

  5. jquery插件开发导读

    最近发现项目中有些js代码可以重用,但是不知道怎么样组织,在网上调研后,发现jquery插件是一种很好的组织方式,而且项目也采用了jquery框架,所以花了点时间学习jquery插件开发,并且动手将部 ...

  6. jQuery 插件开发——Menu(导航菜单)

    故事背景:由于最近太忙了,已经很久没有写jquery插件开发系列了.但是凭着自己对这方面的爱好,我还是抽了一些时间来过一下插件瘾的.今天的主题是导航菜单,这个我相信不管做B/S还是做C/S都非常熟悉一 ...

  7. 基于jquery插件开发入门教程

    鉴于最近要使用大量的jquery,所以总有一种捣鼓文字来抒发一下情绪的冲动.思前想后就来篇jquery插件开发入门教程吧,毕竟如果不想开发插件,那自己无论用别人的插件多牛逼,最多只是js的使用者,作为 ...

  8. 学习JQuery插件开发教程

    如果你跟我一样,jQuery属于入门级的,那么我建议你看我下一篇jQuery教程:自己动手开发jquery插件 ,这篇插件比较容易理解和模范,适合新手开发jQuery插件.推荐你去看一看. 在逛cod ...

  9. jquery+ajax通用无刷新分页

    前台自定义通用分页jquery插件 (一)框架:用jquery+ajax+struts1实现 自动创建行和列 持久层用的是abatis.数据库用的是MySQL. (二)sqlMap shangjia. ...

最新文章

  1. 二叉树两个结点的最低公共父结点 【微软面试100题 第七十五题】
  2. 垃圾回收(三)-gc模块
  3. linux mysql自动备份 和 数据恢复
  4. 数据结构47:查找算法
  5. 系统集成Nacos和Feign
  6. Nginx-搭建https服务器
  7. redis watchdog_干货:Redis分布式锁的原理以及如何续期
  8. 修改 exchange服务器,升级Exchange2010-新服务器更改IP
  9. 什么是干接点、湿接点、源型、漏型、NPN、PNP
  10. 电商十二、pinyougou02.sql的内容③
  11. unity 安装踩坑
  12. 新浪tcn短网址短链接在线生成器推荐
  13. 英语语法笔记——基础语法(一)
  14. linux以兆显示文件大小,linux – 以兆字节显示文件夹使用情况的正确方法
  15. 私人用的红帽linux,红帽宣布为个人开发者提供16个RHEL免费许可 支持在生产环境中使用...
  16. 建造智能食用菌大棚,用菌菇养殖管理系统管理温室
  17. 100个数据分析常用指标和术语
  18. 2018.06.27Firing(最大权闭合子图)
  19. 京东案例开发之居家优品
  20. 客快物流大数据项目(九十二):ClickHouse的MergeTree系列引擎介绍和MergeTree深入了解

热门文章

  1. 苹果平板怎么卸载软件_怎么很好的卸载流氓软件!
  2. 图之遍历--广度优先遍历
  3. oracle windows server 2008,Node.js 在 Windows Server 2008 X64 连接Oracle 数据库
  4. kitti pkl可视化_KITTI 3D Lidar 数据可视化
  5. Matlab guide菜单+快捷菜单的使用
  6. amd cpu排行_最新AMD CPU排行出炉 E6版3000+夺魁
  7. 华为鸿蒙手机和电视通话,鸿蒙智慧屏首秀:逾10万人预定,电视视频通话功能强大...
  8. 基于Java+jsp+servlet的养老院管理系统设计和实现《收藏版》
  9. md5 java 工具类_Java实现一个MD5工具类
  10. 积分上下限无穷_数学分析|第九章 定积分利用等价无穷小量和定积分定义解决数列极限问题总结...