/**
* @lisence jquery plugin demo v1.0.0
*
* author: Jeremy Yu
*
* description:
* this is a jquery plugin Template
* see the end of this document to learn how to use the jquery plugin
*/
;
(function($, window, document, undefined) { /* 插件类定义 */
var PluginName = function(el, options) {
this.version = "1.0.0"
this.el = el;
this.options = options;
this.init(); //调用初始化方法
} /* 定义无参方法,方法名为 init */
PluginName.prototype.init = function() {
/* 初始化操作 */
alert('初始化成功');
} /* 定义有参方法,方法名为 func */
PluginName.prototype.func = function(arg) {
/* TODO */
} /* 定义有返回值方法,方法名为 funcRet */
PluginName.prototype.funcRet = function() {
/* TODO
* 执行完后返回结果
* 返回值可以是undefined、null、数字、字符串、布尔值、对象等
* 如果没有返回,默认返回 undefined
*/
return 0;
} /* 定义命名空间,且作为data的key */
var namespace = 'plugin_name';
/* 定义插件 */
$.fn.plugin_name = function(options) {
var $this = $(this);
var value, args = Array.prototype.slice.call(arguments, 1);
var data = $this.data(namespace);
if (!data) {
var settings = $.extend({}, $.fn.plugin_name.defaults, options);
$this.data(namespace, data = new PluginName(this, settings));
}
if (typeof options == 'string') {
value = data[options].apply(data, args);
}
return typeof value === 'undefined' ? this : value;
}; /* 定义插件的默认值(属性、事件) */
$.fn.plugin_name.defaults = {
prop1: "",
prop2: "",
onEvent: function(arg1, arg2) {},
onError: function(err) {}
}; /*
引入 jquery.min.js 和 当前 js 文件 HTML代码:
<div id="#plugin"></div> 插件使用
$('#plugin').plugin_name({ prop1 : '', onEvent : function(){}}); 方法调用
$('#plugin').plugin_name('function_name', args);
*/ })(jQuery, window, document);

简记 jQuery 插件模板的更多相关文章

  1. jQuery 插件模板

    1.为每一个DOM对象创建一个插件对象 模板定义: (function($) { $.pluginName = function(element, options) { var defaults = ...

  2. 我最喜欢的jQuery插件模板

    我使用jQuery已经有相当长的时间了,并且我会常常为它写一些插件(plugin).我尝试过用不同的方式去写,现在这个模板是我最喜欢的: 1 2 3 4 5 6 7 8 9 10 11 12 13 1 ...

  3. 关于jquery插件模板的两个案例

    /** * jquery tips 提示插件 jquery.tips.js v0.1beta * * 使用方法 * $(selector).tips({ //selector 为jquery选择器 * ...

  4. JQuery插件模板

    (function($){ $.fn.插件名 = function(settings){ var defaultSettings = { } /* 合并默认参数和用户自定义参数 */settings ...

  5. jQuery插件编写及链式编程模型小结

    JQuery极大的提高了我们编写JavaScript的效率,让我们可以愉快的编写代码,做出各种特效.大多数情况下,我们都是使用别人开发的JQuery插件,今天我们就来看看如何把我们常用的功能做出JQu ...

  6. jQuery插件编写及链式编程模型

    jQuery插件编写及链式编程模型小结 JQuery极大的提高了我们编写JavaScript的效率,让我们可以愉快的编写代码,做出各种特效.大多数情况下,我们都是使用别人开发的JQuery插件,今天我 ...

  7. 前端模板文件化jQuery插件 $.loadTemplates

    工作中使用前端模板引擎,如 artTemplate.jsRender,来替代拼接字符串. 可是直接把模板写在页面上会带来页面臃肿,模板无法重用,与 ASP.NET等后端语言语法冲突等问题. 所以将多个 ...

  8. 出位的template.js 基于jquery的模板渲染插件

    找了好几款基于jquery的模板渲染插件,无一感觉很难用(教程较少.绑定不统一),也可能我智商问题,比如jquery template.js .jtemplate.js. 然后在github上找到这一 ...

  9. javascript&&jquery编写插件模板

    javascrpt插件编写模板 这里不分享如何编写插件,只留一个框架模板,使用面向对象的形式进行编写,方便管理 ;(function(window,document){ function FnName ...

随机推荐

  1. TCP 为什么是三次握手,而不是两次或四次?

    记得第一次看TCP握手连接的时候,有同样的疑问,我的疑问是,为何不是两次呢?后来随着对网络的理解深入,明白TCP报文是交由IP网络来负责运输,IP网络并不能保证TCP报文到达目的地,既然IP网络是指望 ...

  2. C#获取本地路径

    /// <summary> /// 本地路径 /// </summary> /// <param name="path"></param& ...

  3. 结合Pool进程池进程,实现进程之间的通讯,稍微复杂的运用

    #进程池中的Queue """ 如果要用Pool创建进程,就需要multiprocessing.Manager()中的Queue() 而不是multiprocessing ...

  4. JNDI配置笔记

    先在tomcat Context.xml配置文件中配置 <Resource name="jdbc/elifecrm" type="javax.sql.DataSou ...

  5. 19、NumPy——线性代数

    NumPy 线性代数 NumPy 提供了线性代数函数库 linalg,该库包含了线性代数所需的所有功能,可以看看下面的说明: 函数 描述 dot 两个数组的点积,即元素对应相乘. vdot 两个向量的 ...

  6. python学习二十三天函数的定义

    在计算机编程中,函数就是可以重复调用,可以传递参数,减少代码的量,可以高效写出好的代码,提高软件的运行质量,下面简单讲述python函数的定义方式 1,函数的定义 函数的定义用关键词def  函数名跟 ...

  7. Android应用程序开发中碰到的错误和获得的小经验

    1,Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE Description:这表示手机内存不足,对内存较小的手机经常会出现这样的问题,从 ...

  8. 自定义的最简单的可回调的线程任务CallbackableFeatureTask(模仿google的ListenableFutureTask)

    1.使该Task继承Callable,Runable import java.util.concurrent.Callable; import java.util.function.Consumer; ...

  9. Prometheus + Grafana

    Prometheus ubuntu安装prometheus非常简单: apt update apt install prometheus systemctl enable prometheus sys ...

  10. standard_key.kmp

    [KeyRemap]keyVersion=2B33554467=[eraseeof]S36=[bof]B33554466=[pagedn]S35=[eof]B33554465=[pageup]B10= ...