zoukankan      html  css  js  c++  java
  • jQuery 插件-(初体验一)

    1.jquery有2个扩展方法:

    • jquery.fn.extend=jquery.prototype.extend
    • jquery.extend

    (两者的区别放在后面文章说)

    2.具体实例结构:

    //创建及时作用域
    (function ($) {
    
        // 通过字面量创造一个对象,存储我们需要的共有方法
        var methods = {
            inint: function (options) {
    
                //返回“this”(函数each()的返回值也是this),以便进行链式调用。
                return this.each(function () {
    
                    // 为每个独立的元素创建一个jQuery对象
                    var $this = $(this);
    
                    //设置默认值
                    var defaults = {
                        proName: 'zqz'
    
                    };
    
                    if (typeof (options) == 'undefined') {
                        settings = $.extend({}, defaults);
                    } else {
                        var settings = {
                            proName: options.proName,
                            Events: handlers.zqzClick($this, options)
                        };
                        settings = $.extend({}, defaults, settings);
                    }
    
                })
            }
        };
    
        //事件
            var handlers = {
                zqzClick: function ($this, options) {
                    $this.bind('click', options.zqzClick);
                }
            };
    
       //向jQuery中被保护的“fn”命名空间中添加你的插件代码,用“zqz”作为插件的函数名称
            $.fn.zqz = function () {
    
                // 检验方法是否存在
                var method = arguments[0];
    
            if (methods[method]) {
                method = methods[method];
    
                arguments = Array.prototype.slice.call(arguments, 1);
    
                // 如果方法不存在,检验对象是否为一个对象(JSON对象)或者method方法没有被传入
            } else if (typeof (method) == 'object' || !method) {
                method = methods.inint;
            } else {
                $.error('asdasd');
    
                return this;
            }
            return method.apply(this, arguments);
        }
    
    })(jQuery)
    
    //调用
    $(function () {
            //$('#blanckjh').zqz();
               $('#blanckjh').zqz({
                'proName': 'wdx',
                 'zqzClick': function () {
                    alert("zqz");
                }
    
            });
        })

    3.插件中涉及到的一些概念与注意事项放在后面文章说

  • 相关阅读:
    【CF 547E】 Mike and Friends
    [LNR#2 D1T3] 不等关系
    [THUPC2019] 不等式
    [THUPC2019]过河卒二
    [THUPC2018] 绿绿和串串
    【IOI2018】组合动作
    229. Majority Element II My Submissions Question
    169. Majority Element My Submissions Question
    ### Caffe
    ### OpenCV安装(Linux)
  • 原文地址:https://www.cnblogs.com/zqzjs/p/4638375.html
Copyright © 2011-2022 走看看