/**
* This class is used for all image background buttons.
*
* @class My.button.ImageButton
* @extends Ext.Button
*/
Ext.namespace(’My.button’);
My.button.ImageButton = function(cfg) {
My.button.ImageButton.superclass.constructor.call(this, cfg);
};
Ext.extend(My.button.ImageButton, Ext.Button, {
imageClass: ’image-btn’,
tpl: new Ext.Template(’<div><a href="" class="{imageClass}"><span>{imgText:htmlEncode}</span></a></div>’),
onRender: function(ct, position) {
this.disabledImgPath = this.disabledImgPath || this.imgPath;
var btn, targs = {
imgText: this.text || "",
imageClass: this.imageClass
};
btn = this.tpl.append(ct, targs, true);
btn.on("click", this.onClick, this);
this.el = btn;
if (this.hidden) {
this.hide();
}
},
disable: function(newImgPath) {
var replaceImgPath = newImgPath || this.disabledImgPath;
if (replaceImgPath)
this.el.dom.firstChild.src = replaceImgPath;
this.disabled = true;
},
enable: function(newImgPath) {
var replaceImgPath = newImgPath || this.imgPath;
if (replaceImgPath)
this.el.dom.firstChild.src = replaceImgPath;
this.disabled = false;
},
reload: function(newImageClass) {
this.imageClass = newImageClass;
var targs = {
imgText: this.text || "",
imageClass: this.imageClass
};
this.tpl.overwrite(this.el, targs);
}
});
Ext.reg(’imagebutton’, My.button.ImageButton);
分享到:
相关推荐
目的:该示例非常详细注释说明Ext的面向对象的编程方式,使用继承,然后重写父类的方法,以及注册自定义事件说明Ext框架是事件驱动的框架编程。 阅读对象:本中心学习Ext面向对象编程的人员 阅读条件:掌握OO的思路...
【Ext组件转化成JSF】是指将基于ExtJS的组件转换为JavaServer Faces (JSF)框架中的组件,以便在JSF应用中使用。ExtJS是一个强大的JavaScript库,提供了丰富的用户界面组件,而JSF是一种Java Web应用程序开发框架,...
EXT组件在软件开发中扮演着重要的角色,尤其是其 MessageBox 工具类,它提供了一种简单易用的方式来创建用户交互的对话框。MessageBox 继承自 Object 对象,并且有一个别名 Ext.Msg,使得调用更为简洁。接下来,我们...
EXT组件的7WX扩展类是针对7WX开源项目的一个重要补充,主要目的是为了更好地整合EXT框架,提升数据处理和展示的效率与灵活性。EXT是一个强大的JavaScript UI库,它提供了丰富的组件和工具,用于构建富客户端应用程序...
在EXT JS这个强大的JavaScript框架中,"继承"和"重写"是两个核心概念,它们在构建可复用和模块化的应用程序中起着至关重要的作用。EXT JS采用面向对象的编程方式,允许开发者通过继承机制来扩展类的功能,同时通过...
在EXTJS中,类继承是其核心特性之一,它允许开发者创建复杂的组件和应用架构,通过继承来重用代码并扩展功能。 在EXTJS中,类系统基于MVC(Model-View-Controller)设计模式,提供了丰富的组件和布局管理。类继承...
9. `numberfield`:`Ext.form.NumberField`继承自`Ext.form.TextField`,专用于处理数字输入。它提供了额外的配置项,如允许小数、负数,设定最大最小值和精度,以及自定义小数分隔符。 10. `radio`:`Ext.form....
在ExtJS中,继承是通过`Ext.extend()`方法实现的,这使得我们能够创建自定义组件,这些组件具有现有组件的特性,并可以添加额外的功能或修改行为。 例如,假设我们有一个基本的`Panel`类,我们可以通过以下方式创建...
创建自定义树组件,我们需要继承Ext.tree.Panel类,并覆盖或扩展其默认配置和方法。 2. **模型(Model)与存储(Store)**:树数据通常存储在EXT的数据存储组件(如Ext.data.TreeStore)中,它负责管理数据的加载、...
在这个特定的例子中,我们关注的是"Ext继承和扩展",这是Ext JS中两个核心的概念,它们对于理解和创建自定义组件至关重要。 1. **Ext继承**: 在面向对象编程中,继承是类之间的一种关系,允许一个类(子类或派生...
EXTJS中的继承是通过`Ext.extend()`或`Ext.createByAlias()`实现的。继承允许子类重写或扩展父类的方法和属性。例如,我们可以创建一个新的按钮类,继承自EXTJS的`Ext.button.Button`: ```javascript MyButton = ...
扩展Ext中的组件 扩展与插件之间的区别 扩展Ext的新手教程 Ext的类继承 从源码生成Ext 基础用法: DomQuery基础 Ext中的事件 简述模板 模板(Templates)的函数 教你创建Ext UI控件 事件的处理 Ext中的继承 Ext...
所有EXT组件都继承自一个基础类,如Ext.Component,通过扩展和组合这些基类来创建特定的UI元素。 2. **静态方法的概念**:静态方法是不属于类的任何实例,而是直接关联到类本身的函数。它们不能访问类的实例属性,...
1. **类继承**:EXT支持基于面向对象的编程,自定义控件通常通过继承EXT现有的基础控件类来实现。例如,如果你想要创建一个自定义的按钮,你可以从`Ext.button.Button`类开始,然后添加你自己的方法和属性。 2. **...
本文将深入探讨Ext JS Calendar的核心组件、配置选项以及数据管理。 **CalendarPanel** CalendarPanel是主要的日历组件,它由多个子组件构成,并可独立使用。它继承自Panel,具备布局管理能力,可以根据需要设置...
- **扩展EXT组件** 开发者可以通过继承EXT提供的组件基类,定制出符合自己需求的组件,增加或修改功能。 - **EXT的布局(Layout)** EXT提供了多种布局方式,如CardLayout、BorderLayout等,用于控制组件在页面...
在Ext 2.2中,各个组件和类通常会形成一个复杂的继承链,使得代码可以重用并保持一致性。类说明图可以帮助开发者理解和跟踪这些关系,从而更有效地进行开发。 标签"Ext框架结构"和"Ext目录结构"分别对应了框架的...
DateField是Ext.form.field.Date的实例,它继承自Ext.form.field.Text。DateField提供了一个日期选择器,允许用户通过日历图标选择日期,或者直接在文本框中输入日期。默认情况下,它会按照指定的格式显示和验证日期...
- **组件模型**:解释了 Ext 中的组件模型,包括基本组件和容器。 - **容器模型**:详细介绍了容器组件的作用和用法。 - **布局 Layouts**:列举了 Ext 中提供的布局类型及其使用场景。 - **Grid**:Grid 组件的...