zoukankan      html  css  js  c++  java
  • Jquery(16)Jquery定义对象( 闭包),扩展对象成员

    一、添加对象的静态属性和静态方法:

    声明一个对象MyObject,添加一个b的静态属性和myclick的静态方法。

    (function ($) {
        MyObject = function () { };//定义对象
        $.extend(MyObject,
                 { b: 5 },
                 { myclick: function () { alert("c") } }
                );
    })(jQuery);
    
    //调用:
    alert(MyObject.b);
    MyObject.myclick();

    二、添加对象的实例属性和实例方法

    声明一个对象MyObject,添加一个a的实例属性和myclick的实例方法。

    (function ($) {
        MyObject= function (name) {//定义类
            this.a = "abc";
            this.init(name);//相当于一构造函数,调用init方法
        };
        $.extend(MyObject.prototype, 
                    {a:””,//属性
                     init:function(name){this.a=name},
                     myclick: function () { alert(this.a); }}
                    );
    })(jQuery);
    
    //调用:实例化
    var obj = new MyObject(“test1”)
    obj.myclick();

    备注:其中MyObject对象 可为任意名称。

    三、循环访问对象的每个成员

    for(var temp in obj){
      result+=temp+”:”+obj[temp];
    }

    四、定义单一模式的对象

    定义类:

    MyClass=function(opt){
        this.a=5;
        this.b=6;
        $.extend(this,opt);
    }

    定义一个普通对象:

    var Myobject=new Myclass({a:7;c:b});

    定义一个单一模式的对象:

    _MyObject=null;
    Myobject=function(opt){
        if(_MyObject==null){
            _MyObject=new MyClass(opt);
        }
        return _MyObject;
    }
    
    //调用:
    var instance=Myobject({a:7;c:b});

    五、给jQuery对象添加自定义方法

    方法一、$.fn.xxx

    $.fn.focusEnd = function(){
                this.setCursorPosition(this.val().length);
     }

    调用:

    $('.num').click(function(){
      $('.num').focusEnd();
    });

    方法二:$.fn.extend(xxx:);

    $.fn.extend({
        fnClassToggle:function(options){
        var defaults={hoverClass:"default",...};
        var settings=$.extend({},defaults,options||{});
        $(this).each(function(i,n){
            var c1=settings.hoverClass;
            if(c1){
                $(n).hover(function(){$(this).addClass(c1);},
                           function(){$(this).addClass(c1);});
            }
        });
        }
    });
    

    调用:

    $(".box").fnClassToggle({hoverClass:"hover"});
  • 相关阅读:
    C#自带的Version判断版本号的大小
    通过iis启动服务,会产生C:/inetpub/logs/logsFile产生大量的日志,定期清理
    C# 需要引用MySql.Data.dll,请在Nuget安装最新稳定版本,如果有版本兼容问题请先删除原有引用 (SqlSugar)
    C# sqlsugar依赖引用报错的问题解决
    Python 函数
    Python 迭代器与生成器
    Python 循环语句
    Python 条件控制
    Python 编程第一步
    Python 列表复制
  • 原文地址:https://www.cnblogs.com/springsnow/p/12294366.html
Copyright © 2011-2022 走看看