日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

Jquery定義對(duì)象(閉包)與擴(kuò)展對(duì)象成員的方法_jquery

作者:springsnow ? 更新時(shí)間: 2022-07-29 編程語(yǔ)言

一、添加對(duì)象的靜態(tài)屬性和靜態(tài)方法:

聲明一個(gè)對(duì)象MyObject,添加一個(gè)b的靜態(tài)屬性和myclick的靜態(tài)方法。

(function ($) {
    MyObject = function () { };//定義對(duì)象
    $.extend(MyObject,
             { b: 5 },
             { myclick: function () { alert("c") } }
            );
})(jQuery);

//調(diào)用:
alert(MyObject.b);
MyObject.myclick();

二、添加對(duì)象的實(shí)例屬性和實(shí)例方法

聲明一個(gè)對(duì)象MyObject,添加一個(gè)a的實(shí)例屬性和myclick的實(shí)例方法。

(function ($) {
    MyObject= function (name) {//定義類
        this.a = "abc";
        this.init(name);//相當(dāng)于一構(gòu)造函數(shù),調(diào)用init方法
    };
    $.extend(MyObject.prototype, 
                {a:””,//屬性
                 init:function(name){this.a=name},
                 myclick: function () { alert(this.a); }}
                );
})(jQuery);

//調(diào)用:實(shí)例化
var obj = new MyObject(“test1”)
obj.myclick();

備注:其中MyObject對(duì)象 可為任意名稱。

三、循環(huán)訪問對(duì)象的每個(gè)成員

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

四、定義單一模式的對(duì)象

定義類:

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

定義一個(gè)普通對(duì)象:

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

定義一個(gè)單一模式的對(duì)象:

_MyObject=null;
Myobject=function(opt){
    if(_MyObject==null){
        _MyObject=new MyClass(opt);
    }
    return _MyObject;
}

//調(diào)用:
var instance=Myobject({a:7;c:b});

五、給jQuery對(duì)象添加自定義方法

方法一、$.fn.xxx

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

調(diào)用:

$('.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);});
        }
    });
    }
});

調(diào)用:

$(".box").fnClassToggle({hoverClass:"hover"});

原文鏈接:https://www.cnblogs.com/springsnow/p/12294366.html

欄目分類
最近更新