Jquery定义对象(闭包)与扩展对象成员的方法

 更新时间:2022年06月01日 08:13:46   作者:springsnow  
这篇文章介绍了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"});

到此这篇关于Jquery定义对象( 闭包)与扩展对象成员的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • jQuery中的on与bind绑定事件区别实例详解

    jQuery中的on与bind绑定事件区别实例详解

    bind与on的区别就在于–事件冒泡,关于jquery中的on与bind绑定事件的区别通过本文给大家实例讲解,需要的朋友参考下吧
    2017-02-02
  • jQuery 移除事件的方法

    jQuery 移除事件的方法

    这篇文章主要介绍了jQuery 移除事件的方法,文中讲解非常详细,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • jQuery EasyUI 的EasyLoader功能介绍

    jQuery EasyUI 的EasyLoader功能介绍

    jQuery EasyUI是一款基于JQuery的UI快速搭建组件。今天介绍下EasyLoader的功能。
    2010-09-09
  • 修改jquery.lazyload.js实现页面延迟载入

    修改jquery.lazyload.js实现页面延迟载入

    jquery.lazyload.js并未真正的实现页面延迟载入,它的实现原理是页面载入完毕后将html中所有img标签的src属性都替换为空,把src的初始值存储到一个自定义的属性中,当页面滚动到img标签位置时再将图片载入进来。
    2010-12-12
  • Jquery 表格合并的问题分享

    Jquery 表格合并的问题分享

    有朋友问GridView控件对于跨行合并的问题,这可以用控件嵌套来完成,当然,我更喜欢在前台来用JS来控制网页元素的样式,而后台仅仅是根据客户的请求,来返回数据。
    2011-09-09
  • jQuery实现DIV层淡入淡出拖动特效的方法

    jQuery实现DIV层淡入淡出拖动特效的方法

    这篇文章主要介绍了jQuery实现DIV层淡入淡出拖动特效的方法,涉及jQuery针对鼠标操作的常用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-02-02
  • 自定义jQuery插件方式实现强制对象重绘的方法

    自定义jQuery插件方式实现强制对象重绘的方法

    这篇文章主要介绍了自定义jQuery插件方式实现强制对象重绘的方法,实例分析了jQuery插件及对象重绘的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • jquery UI Datepicker时间控件的使用及问题解决

    jquery UI Datepicker时间控件的使用及问题解决

    这篇文章主要介绍了jquery UI Datepicker时间控件的使用及与asp.net中的UpdatePanel联合使用时的失效问题解决,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • jquery实现自定义图片裁剪功能【推荐】

    jquery实现自定义图片裁剪功能【推荐】

    本文主要介绍了jquery实现自定义图片裁剪功能,代码超级简单,易修改。下面跟着小编一起来看下吧
    2017-03-03
  • jQuery滚动加载图片实现原理

    jQuery滚动加载图片实现原理

    这篇文章主要介绍了jQuery滚动加载图片实现原理,通过四个方面来说明懒加载技术的原理,感兴趣的小伙伴们可以参考一下
    2015-12-12

最新评论