• 简记 jQuery 插件模板


     1 /**
     2  * @lisence jquery plugin demo v1.0.0
     3  *
     4  * author: Jeremy Yu
     5  *
     6  * description: 
     7  *   this is a jquery plugin Template
     8  *   see the end of this document to learn how to use the jquery plugin
     9  */
    10 ;
    11 (function($, window, document, undefined) {
    12 
    13     /* 插件类定义 */
    14     var PluginName = function(el, options) {
    15         this.version = "1.0.0"
    16         this.el = el;
    17         this.options = options;
    18         this.init(); //调用初始化方法
    19     }
    20 
    21     /* 定义无参方法,方法名为 init */
    22     PluginName.prototype.init = function() {
    23         /*  初始化操作 */
    24         alert('初始化成功');
    25     }
    26 
    27     /* 定义有参方法,方法名为 func */
    28     PluginName.prototype.func = function(arg) {
    29         /* TODO  */
    30     }
    31 
    32     /* 定义有返回值方法,方法名为 funcRet */
    33     PluginName.prototype.funcRet = function() {
    34         /* TODO 
    35          * 执行完后返回结果
    36          * 返回值可以是undefined、null、数字、字符串、布尔值、对象等
    37          * 如果没有返回,默认返回 undefined
    38          */
    39         return 0;
    40     }
    41 
    42     /* 定义命名空间,且作为data的key */
    43     var namespace = 'plugin_name';
    44     /* 定义插件 */
    45     $.fn.plugin_name = function(options) {
    46         var $this = $(this);
    47         var value, args = Array.prototype.slice.call(arguments, 1);
    48         var data = $this.data(namespace);
    49         if (!data) {
    50             var settings = $.extend({}, $.fn.plugin_name.defaults, options);
    51             $this.data(namespace, data = new PluginName(this, settings));
    52         }
    53         if (typeof options == 'string') {
    54             value = data[options].apply(data, args);
    55         }
    56         return typeof value === 'undefined' ? this : value;
    57     };
    58 
    59     /* 定义插件的默认值(属性、事件) */
    60     $.fn.plugin_name.defaults = {
    61         prop1: "",
    62         prop2: "",
    63         onEvent: function(arg1, arg2) {},
    64         onError: function(err) {}
    65     };
    66 
    67 
    68     /*
    69         引入 jquery.min.js 和 当前 js 文件
    70 
    71         HTML代码:
    72         <div id="#plugin"></div>
    73 
    74         插件使用
    75         $('#plugin').plugin_name({ prop1 : '', onEvent : function(){}});
    76 
    77         方法调用
    78         $('#plugin').plugin_name('function_name', args);
    79     */
    80 
    81 })(jQuery, window, document);
  • 相关阅读:
    三十秒读懂混合云管平台的功用
    大家好,我是UCMP云管家,这是我的自我介绍
    唐门暗器之私有云排名
    SpringBoot集成Knife4j
    Spring的全局(统一)异常处理
    SpringBoot集成MybatisPlus
    Spring之拦截器和过滤器
    Spring注解之构建器@Builder的用法
    Java获取客户端请求信息
    Spring注解之生命周期@PostConstruct和@PreDestroy
  • 原文地址:https://www.cnblogs.com/silfox/p/11434206.html
Copyright © 2020-2023  润新知