Ext.Layer

Hierarchy

Uses

Files

一个Ext.Element对象的扩展子类, 用于支持阴影和底衬, 约束到viewport并自动调整阴影/底衬的位置.

Defined By

Config options

Ext.Layer
cls : String

添加至元素的CSS样式类.

添加至元素的CSS样式类.

Ext.Layer
: Boolean

'false'表示不受viewport的约束.

Defaults to: true

Ext.Layer
: Object

配置创建元素时的DomHelper对象.

Defaults to: {tag: "div", cls: "x-layer"}

Ext.Layer
: String

用一字符串来定义如何隐藏此图层.

允许的值有:

  • 'display' : 使用 display: none 样式来进行隐藏组件.
  • 'visibility' : 使用 visibility: hidden 样式来进行隐藏组件.
  • 'offsets' : 通过移动组件坐标位置到当前页面的可视区域外部的方式来隐藏组件. 常用在当隐藏组件必须维护大量的组件尺寸时. 使用display进行隐藏将导致组件的尺寸归零.
Ext.Layer
: String/Boolean

'true'表示自动创建阴影对象Ext.Shadow, 或用字符串来指明阴影的显示模型 Ext.Shadow.mode. 'false'时表示禁用阴影.

Defaults to: false

Ext.Layer
: Number

阴影偏移量(像素).

Defaults to: 4

Ext.Layer
: Boolean

'false'时禁用浏览器中iframe框的底衬.

Defaults to: true

Ext.Layer
: Boolean

默认使用css抵消来隐藏图层. 设为'true'时用样式 'display:none;'来隐藏图层.

Defaults to: false

CSS样式类名, 用于当此图层配置了参数hideMode: 'asclass'时来隐藏此图层.

CSS样式类名, 用于当此图层配置了参数hideMode: 'asclass'时来隐藏此图层.

Ext.Layer
: Number

起始的 z-index.

Defaults to: 11000

Properties

Defined By

Instance Properties

扩展事件

Defaults to: []

设置为true 则会为 box-model 问题 自动调整宽高.

Defaults to: true

追加到未提供单位的CSS值后的默认单位。

Defaults to: "px"

DOM元素

DOM元素

DOM元素的ID

DOM元素的ID

元素的默认显示模式(display mode).

Defaults to: ""

本身 获取当前类的引用,此对象被实例化。不同于 statics, this.self是依赖范围,它意味着要使用动态继承。 ...

本身

获取当前类的引用,此对象被实例化。不同于 statics, this.self是依赖范围,它意味着要使用动态继承。 参见 statics 详细对比

Ext.define('My.Cat', {
    statics: {
        speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
    },

    constructor: function() {
        alert(this.self.speciesName); // 依赖 'this'
    },

    clone: function() {
        return new this.self();
    }
});


Ext.define('My.SnowLeopard', {
    extend: 'My.Cat',
    statics: {
        speciesName: 'Snow Leopard'         // My.SnowLeopard.speciesName = 'Snow Leopard'
    }
});

var cat = new My.Cat();                     // alerts 'Cat' 猫
var snowLeopard = new My.SnowLeopard();     // alerts 'Snow Leopard' 雪豹

var clone = snowLeopard.clone();
alert(Ext.getClassName(clone));             // alerts 'My.SnowLeopard'

此共享的对象是由样式名称作为键(例如 'margin-left' 或 'marginLeft')。 这些值是具有以下属性的对象:

  • name (String) : 要提交给 DOM 的实际名称。 这通常是由normalize返回的值。
  • get (Function) : 一个钩子函数,将执行get在当前样式。 这些函数接收"(dom, el)"参数。dom参数是从中获取这种样式的DOM元素。 el参数(可能为空)是Ext.Element对象。
  • set (Function) : 一个钩子函数,将执行set在当前样式。 这些函数接收"(dom, value, el)"参数。dom参数是从中获取这种样式的DOM元素。 value参数是样式的新值。 el参数(可能为空)是Ext.Element对象。

this指针是包含getset的对象,这意味着 this.name 如果需要则可以进行访问。钩子函数都是可选的。

Defaults to: {}

Defined By

Static Properties

Ext.dom.Element.setVisibilityMode一起使用的显示模式常量。 添加或删除Ext.Layer.visibilityCls类来隐藏元素。

Defaults to: 4

Ext.dom.Element.setVisibilityMode一起使用的显示模式常量。 使用CSS 'display' 属性来隐藏元素。

Defaults to: 2

Ext.dom.Element.setVisibilityMode一起使用的显示模式常量。 使用CSS绝对定位和top/left偏移来隐藏元素。

Defaults to: 3

Ext.dom.Element.setVisibilityMode一起使用的显示模式常量。 使用CSS 'visibility' 属性来隐藏元素。

请注意,在此模式下,isVisible 对于一个元素可能返回 true 即使它实际上有一个隐藏的父元素。为此,在大多数情况下, 使用OFFSETS模式是一个更好的选择。

Defaults to: 1

Methods

Defined By

Instance Methods

Ext.Layer
new( [Object config], [String/HTMLElement existingEl] ) : Object

创建新图层

Parameters

  • config : Object (optional)

    创建参数对象.

  • existingEl : String/HTMLElement (optional)

    使用已存在的DOM元素. 若元素未找到则创建它.

Returns

Overrides: Ext.dom.Element.constructor

向元素中添加一个或多个 CSS 类。自动过滤掉重复的类。

Parameters

  • className : String/String[]

    CSS类添加用空格隔开,或是一个包含多个类的数组

Returns

设置在此元素上鼠标按下并随后放开(click 效果)时的事件处理器,用来添加和删除相应的 css 类.

Parameters

  • className : String

    要添加的class类名

  • testFn : Function (optional)

    在添加class之前执行的测试函数. 将会有一个元素实例作为参数传递给此函数. 如果此函数返回 false, 则不会添加css类.

  • scope : Object (optional)

    执行函数 testFn 的对象.

Returns

设置此元素获得焦点时的事件处理器,用来添加和删除相应的 css 类.

Parameters

  • className : String

    要添加的class类名

  • testFn : Function (optional)

    在添加class之前执行的测试函数. 将会有一个元素实例作为参数传递给此函数. 如果此函数返回 false, 则不会添加css类.

  • scope : Object (optional)

    执行函数 testFn 的对象.

Returns

设置鼠标悬停(over)在此元素上时的事件处理器,用来添加和删除相应的 css 类.

Parameters

  • className : String

    要添加的class类名

  • testFn : Function (optional)

    在添加class之前执行的测试函数. 将会有一个元素实例作为参数传递给此函数. 如果此函数返回 false, 则不会添加css类.

  • scope : Object (optional)

    执行函数 testFn 的对象.

Returns

( Object config )private

添加配置

Parameters

Parameters

构造一个 KeyMap 的快捷方法

Parameters

Returns

为此元素创建一个 KeyMap

Parameters

Returns

on 的快捷方式.

添加一个事件处理器(event handler)到此元素.

Parameters

  • eventName : String

    要处理的事件名字.

  • fn : Function

    事件处理函数. 此函数可以接收到以下 3 个参数 :

    • evt : EventObject

      描述事件的 EventObject 对象.

    • el : HtmlElement

    作为事件 target 的 DOM 元素. 需要注意, 如果使用事件代理(delegate) 选项,则有可能被过滤掉.

    • o : Object

      设置到监听器 listener 的 配置选项对象(options object).

  • scope : Object

    (可选参数) 事件处理函数的作用域 (this 引用). 如果省略此参数, 默认是 this 元素Element.

  • options : Object

    (可选参数) 包含事件处理器配置选项的一个对象. 可以包含以下属性的任意组合:

    • scope Object :

      事件处理函数的作用域 (this 引用). 如果省略此参数, 默认是 this 元素Element.

    • delegate String:

      代理,一个简单的选择器(selector)字符串,用来过滤 target 或者查找其内部元素. 详细信息请参阅下面的内容.

    • stopEvent Boolean:

      如果设置为 true 则停止事件. 也就是停止事件传播并阻止默认行为.

    • preventDefault Boolean:

      设置为 true 则阻止默认行为.

    • stopPropagation Boolean:

      如果设置为 true 则停止事件传播

    • normalized Boolean:

      如果设置为 false 则将浏览器事件直接传递给事件处理器函数,而不是包装后的 Ext.EventObject

    • target Ext.dom.Element:

      只有事件直接发生在 target 元素上时才触发事件处理函数, 如果是从子节点冒泡而来,则不触发.

    • delay Number:

      在事件触发后延迟多少个毫秒(milliseconds)以后才执行回调函数.

    • single Boolean:

      设置为 true 则只在下一次事件触发时调用处理函数,调用完成即移除.

    • buffer Number:

      设置以后将会在指定的毫秒数以后由 Ext.util.DelayedTask 来调度执行. 如果在此时间范围内事件再次触发, 那么旧的事件处理器不会被执行,而在其调度时间点上执行新的事件处理器.

    组合选项(Combining Options)

    使用 options 参数, 可以组合(combine)为 不同类型的监听器:

    添加一个 延迟执行,只执行一次(one-time),自动停止事件, 并指定自定义参数 (forumId) 的事件监听. 配置选项options 对象会作为处理函数的第3 个参数. 代码如下:

    el.on('click', this.onClick, this, {
        single: true,
        delay: 100,
        stopEvent : true,
        forumId: 4
    });
    

    同时绑定多个事件

    on 方法也允许通过单个配置对象参数,此参数对象包含的各个属性,分别是多个事件及事件处理器配置.

    Code:

    el.on({
        'click' : {
            fn: this.onClick,
            scope: this,
            delay: 100
        },
        'mouseover' : {
            fn: this.onMouseOver,
            scope: this
        },
        'mouseout' : {
            fn: this.onMouseOut,
            scope: this
        }
    });
    

    或者简写的语法格式:

    代码:

    el.on({
        'click' : this.onClick,
        'mouseover' : this.onMouseOver,
        'mouseout' : this.onMouseOut,
        scope: this
    });
    

    delegate

    这是一个配置选项,通过注册的代理事件处理器,可以用来协助处理事件. 事件代理(Event delegation)是用来减少内存消耗,防止内存泄露(memory-leaks) 的一种技术手段. 可以在容器上注册一个事件而不必在容器内部的每个元素上注册一个. 通过设置此配置选项为一个简单的选择器(selector), 则 target 元素将被过滤为target的子孙元素. 示例代码如下:

    // 假设有如下HTML片段:
    <div id='elId'>
        <p id='p1'>paragraph one</p>
        <p id='p2' class='clickable'>paragraph two</p>
        <p id='p3'>paragraph three</p>
    </div>
    
    // 利用事件代理机制,则可以在父容器上只注册一个事件处理函数即可处理在各个子元素上发生的事件:
    el = Ext.get('elId');
    el.on(
        'click',
        function(e,t) {
            // 事件处理逻辑 ...
            console.info(t.id); // 'p2'
        },
        this,
        {
            // 过滤 target 为css类 'clickable' 元素的子孙元素.
            delegate: '.clickable'
        }
    );
    

Returns

( Object name, Object member )private

Parameters

( Object xtype )private

添加 Xtype

Parameters

如果浏览器返回的 subpixel 尺寸约等于最小像素 则返回1.

Parameters

Returns

( String/HTMLElement/Ext.Element element, [String position], [Number[] offsets], [Boolean/Object animate] ) : Ext.Element

通过指定的锚点将此元素与另一个元素对齐. 如果另一个元素时文档document本身,则对齐到 viewport. 参数 position 是可选的, 并可以指定为以下的格式:

  • 空白: 默认将此元素的左上角(top-left)对齐到目标元素的左下角(bottom-left),即("tl-bl").
  • 一个锚点anchor (此设置已被废弃,deprecated): 传递的锚点位置被用做目标元素的 锚点位置. 此元素将其左上角定位到另一个元素的指定的锚点. 此方法已被废弃,最好使用下面的两个锚点的格式.
  • 两个锚点anchor: 如下面的表格所示,如果参数是用破折号(-)分隔的两个值, 那么第一个值用作此元素的锚点, 而第二个值用作目标元素的锚点(anchor point)

除了锚点, 参数 position 也支持 "?" 字符. 如果问号字符 "?" 出现在position 字符串的末尾, 则元素将试图对齐指定的位置, 如果必要,则会被适当调整以限制在viewport中. 注意: 为了执行 viewport 的限制,被对齐的元素将可能被对齐到其他的位置. 下表是所有支持的锚点位置(anchor positions):

 值      说明
-----  -----------------------------
tl     左上角(top left corner) (默认值)
t      上边界(top edge)的中心
tr     右上角(top right)
l      左边界(left edge)的中心
c      元素的中心(center)
r      右边界(right edge)的中心
bl     左下角(bottom left)
b      下边界(bottom edge)的中心
br     左下角(bottom right)

用法示例:

// 使用默认的对齐位置("tl-bl", 不受限制) 将 el 对齐到 other-el 
el.alignTo("other-el");

// 对齐el元素的左上角到other-el元素的右上角 (受viewport限制)
el.alignTo("other-el", "tr?");

// 对齐el元素的右下角到other-el元素的左边界中心
el.alignTo("other-el", "br-l?");

// 对齐el元素的中心点center到other-el元素的左下角,
// 并调整 x 的位置偏移为 -6 pixels (y 位置偏移为 0)
el.alignTo("other-el", "c-bl", [-6, 0]);

Parameters

  • element : String/HTMLElement/Ext.Element

    要对齐的元素.

  • position : String (optional)

    要对齐的位置

    Defaults to: "tl-bl?"

  • offsets : Number[] (optional)

    格式为 [x, y] 的位置偏移

  • animate : Boolean/Object (optional)

    设置为 true 则使用默认动画(animation), 也可以设置为标准的 Element animation 配置对象

Returns

( String/HTMLElement/Ext.Element element, String position, [Number[] offsets], [Boolean/Object animate], [Boolean/Number monitorScroll], [Function callback] ) : Ext.Element

当窗口改变大小时,锚定一个元素到另一个元素,并重新对齐.

Parameters

  • element : String/HTMLElement/Ext.Element

    要对齐的元素.

  • position : String

    要对齐的位置.

  • offsets : Number[] (optional)

    格式为 [x, y] 的位置偏移

  • animate : Boolean/Object (optional)

    设置为 true 则使用默认动画(animation), 也可以设置为标准的 Element animation 配置对象

  • monitorScroll : Boolean/Number (optional)

    设置为 true 则监视body 滚动条及滚动位置. 如果此参数是数字, 将被用来作为缓冲延迟 (默认是 50ms).

  • callback : Function (optional)

    动画完成后的回调函数.

Returns

将传递进来的元素(列表)添加到当前元素的后面

Parameters

Returns

将当前元素添加到传递进来的元素之后

Parameters

Returns

setStyle的另一个版本,更能灵活地设置样式属性。

Parameters

  • styles : String/Object/Function

    表示样式的特定格式字符串,如"width:100px",或是对象的形式如{width:"100px"}, 或是能返回这些格式的函数。

Returns

试着让元素(element)失去焦点. 捕获并忽略所有异常.

Returns

用一个指定样式class的包含9个元素DIV将当前元素包装起来, 默认是灰色的容器,圆角,倾斜背景,4个方向的阴影. ...

用一个指定样式class的包含9个元素DIV将当前元素包装起来, 默认是灰色的容器,圆角,倾斜背景,4个方向的阴影.

这种特殊的标签Ext用来在 frame=true, Ext.window.Window)中 包装 (Ext.button.Button, Ext.panel.Panel元素 形成的HTML元素标签格式如下:

Ext.dom.Element.boxMarkup =
'<div class="{0}-tl"><div class="{0}-tr"><div class="{0}-tc"></div></div></div>
<div class="{0}-ml"><div class="{0}-mr"><div class="{0}-mc"></div></div></div>
<div class="{0}-bl"><div class="{0}-br"><div class="{0}-bc"></div></div></div>';

用法示例如下:

// 基本的 box 包装
Ext.get("foo").boxWrap();

// 你也可以添加自定义的CSS class类, 并使用 CSS 继承规则(inheritance rules)来自定义box的外观.
// 'x-box-blue' 是内置的可选方案 -- 请查阅示例中相关的 CSS 定义来了解如何创建自定义的 box wrap 样式.
Ext.get("foo").boxWrap().addCls("x-box-blue");

Parameters

  • class : String (optional)

    应用到包装元素上的 base CSS 类. 注意: 根据此类名有一系列的CSS规则来组成整体的特效效果, 因此如果你提供了自定义的基本CSS类, 请确保也支持所有必要的子类规则.

    Defaults to: "x-box"

Returns

当一个元素在DOM中移动, 或者通过 display:none 实现隐藏时, 将会失去布局(layout), 因此所有内部元素(descendant elements)的滚动位置也会丢失掉. ...

当一个元素在DOM中移动, 或者通过 display:none 实现隐藏时, 将会失去布局(layout), 因此所有内部元素(descendant elements)的滚动位置也会丢失掉.

此函数将缓存这些滚动值(caches them), 并返回一个函数(function), 用来恢复缓存的滚动位置(cached positions). 下面的例子, 将面板元素Panel 从一个容器移动到另一个容器中,因此失去所有的滚动位置(scroll positions):

var restoreScroll = myPanel.el.cacheScrollValues();
myOtherContainer.add(myPanel);
restoreScroll(); // 恢复

Returns

  • Function

    一个函数,调用此函数则恢复所有子元素为原来的滚动位置. 请注意返回的函数是一个闭包(closure)函数,将会持有cacheScrollValues这个范围, 如果用 var 引用指向返回的函数, 请记得尽快的释放它; 它将脱离使用范围, 并且引用将被释放(这句有点不通畅_).

( Array/Arguments ) : Objectdeprecatedprotected
调用原来的方法,这是以前的override重写 Ext.define('My.Cat', { constructor: function() { alert("I'm a cat!"); } }); ...

调用原来的方法,这是以前的override重写

Ext.define('My.Cat', {
    constructor: function() {
        alert("I'm a cat!");
    }
});

My.Cat.override({
    constructor: function() {
        alert("I'm going to be a cat!");

        this.callOverridden();

        alert("Meeeeoooowwww");
    }
});

var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
                          // alerts "I'm a cat!"
                          // alerts "Meeeeoooowwww"

This method has been deprecated since 4.1

版本 使用 callParent 代替.

Parameters

  • : Array/Arguments

    参数的参数,数组或'参数'对象 来自当前方法,例如: this.callOverridden(arguments)

Returns

  • Object

    返回调用重写方法的结果。

( Array/Arguments args ) : Objectprotected

所谓的"parent"方法是指当前的方法。 这是以前的方法派生或重写(参见 Ext.define)。

 Ext.define('My.Base', {
     constructor: function (x) {
         this.x = x;
     },

     statics: {
         method: function (x) {
             return x;
         }
     }
 });

 Ext.define('My.Derived', {
     extend: 'My.Base',

     constructor: function () {
         this.callParent([21]);
     }
 });

 var obj = new My.Derived();

 alert(obj.x);  // alerts 21

这可以用来重写如下:

 Ext.define('My.DerivedOverride', {
     override: 'My.Derived',

     constructor: function (x) {
         this.callParent([x*2]); // 调用原来的My.Derived构造
     }
 });

 var obj = new My.Derived();

 alert(obj.x);  // 现在提示 42

This also works with static methods.

 Ext.define('My.Derived2', {
     extend: 'My.Base',

     statics: {
         method: function (x) {
             return this.callParent([x*2]); // 调用 My.Base.method
         }
     }
 });

 alert(My.Base.method(10);     // alerts 10
 alert(My.Derived2.method(10); // alerts 20

然后,它也可以重写静态方法。

 Ext.define('My.Derived2Override', {
     override: 'My.Derived2',

     statics: {
         method: function (x) {
             return this.callParent([x*2]); // 调用 My.Derived2.method
         }
     }
 });

 alert(My.Derived2.method(10); // 现在提示 40

Parameters

  • args : Array/Arguments

    这个参数, 通过当前方法得到数组或者 arguments 对象, 例如: this.callParent(arguments)

Returns

  • Object

    返回调用父类的方法的结果。

( [String/HTMLElement/Ext.Element centerIn] )

将本元素置于 viewport 或者 另一个 Element 的中心. 当前元素的中心对齐到centerIn元素的中心

Parameters

  • centerIn : String/HTMLElement/Ext.Element (optional)

    在那个元素的中心放置本(this)元素.

( String selector, [Boolean returnDom] ) : HTMLElement/Ext.dom.Element

传入一个CSS选择符的参数,然后基于该选择符,"直接"选取单个子节点(选择符不应有id)。

Parameters

  • selector : String

    CSS选择符

  • returnDom : Boolean (optional)

    true表示为返回标准DOM类型的节点,false的话返回Ext.dom.Element类型的对象。

    Defaults to: false

Returns

  • HTMLElement/Ext.dom.Element

    子节点,Ext.Element类型(或DOM节点如果returnDom = true)

( [Boolean forceReclean] )

删除空的(Empty),或者全是空格填充的文本节点. 合并相邻的文本节点.

Parameters

  • forceReclean : Boolean (optional)

    默认情况下,如果元素被清空以后,将会记录下来. 因此调用多少次都没关系. 但如果更新了元素的内容,则可以指定为true来强制清理.

    Defaults to: false

removeAllListeners 的别名.

从此元素移除掉所有的监听器(listener)

Returns

将此元素的所有透明度设置清除. 在 IE 下有时是必须的.

Returns

当文档(document) load的时候,清除位置信息,恢复为默认值.

Parameters

  • value : String (optional)

    为 left, right, top, bottom 这些属性所使用的值. 当然也可以使用 'auto'.

    Defaults to: ""

Returns

存储当前的溢出设置,并裁剪元素的溢出 - 可以使用 unclip 来恢复

Returns

如果当前元素是传入元素的父辈级元素(ancestor)返回true

Parameters

  • el : HTMLElement/String

    要检查的元素

Returns

  • Boolean

    true表示这个元素是传入元素的父级元素,否则返回false。

( Object config, [HTMLElement insertBefore], [Boolean returnDom] ) : Ext.dom.AbstractElement

创建传递进来的DomHelper配置,并将其添加到当前元素后面,或者可以选择将 其插入到所传递的子元素的前面。

Parameters

  • config : Object

    DomHelper元素配置对象。如果没有指定tag (例如., {tag:'input'}), 那么将用指定的属性自动创建一个div。

  • insertBefore : HTMLElement (optional)

    当前元素的一个子元素

  • returnDom : Boolean (optional)

    设置为true将返回dom节点而不是创建一个 Element

    Defaults to: false

Returns

( String/Object config, [String/HTMLElement renderTo], [Boolean matchBox] ) : Ext.dom.Element

创建此元素的 代理元素(proxy element).

Parameters

  • config : String/Object

    代理元素的类名 或者DomHelper配置对象

  • renderTo : String/HTMLElement (optional)

    代理元素将被渲染(render,添加)到的元素或id. 默认是: document.body.

  • matchBox : Boolean (optional)

    设置为true 则对齐并调整代理元素同this元素当前大小一致.

    Defaults to: false

Returns

为此元素 创建一个 iframe 垫片(shim) 来阻止selects 和其他窗口对象(windowed objects) 显示XXX(showing through).

Returns

remove的别名。

删除此元素的dom引用。注意在Ext.removeNode处理事件和缓存清除。

( String selector, [Boolean returnDom] ) : HTMLElement/Ext.dom.Element

传入一个CSS选择符的参数,然后基于该选择符,不限定深度进行,搜索符合的话选取单个直接的子节点(选择符不应有id)。

Parameters

  • selector : String

    CSS选择符

  • returnDom : Boolean (optional)

    true表示为返回Ext.Element类型的对象,false的话返回标准DOM类型的节点

    Defaults to: false

Returns

  • HTMLElement/Ext.dom.Element

    子节点,Ext.Element类型(或DOM节点如果returnDom = true)

setVisibilityMode(Element.DISPLAY) 的快捷封装

Parameters

  • display : String (optional)

    当可见时设置display等于什么(What to set display to when visible).

Returns

( Object config )private

拓展

Parameters

对元素显示淡入效果 (从 透明transparent 到 不透明opaque). 最终的透明度可以通过 opacity 配置项来指定. 用法示例:

// 默认效果: 淡入效果, opacity 从 0 渐变为 100%
el.fadeIn();

// 自定义效果: opacity 从 0 渐变为 100%,持续时间 2 秒
el.fadeIn({ opacity: .75, duration: 2000});

// 设置默认值的常用配置选项
el.fadeIn({
    opacity: 1, // 可以是 0 到 1 之间的任意数字(例如 .5)
    easing: 'easeOut',
    duration: 500
});

Parameters

  • options : Object

    (可选参数) 包含任意Fx配置选项的字面量对象

Returns

对元素显示淡出效果 (从 不透明opaque 到 透明transparent). 最终的透明度可以通过 opacity 配置项来指定. 注意: IE可能需要 useDisplay:true 来正确的重新显示(redisplay correctly). 用法示例:

// 默认效果: 淡出元素, opacity 从 当前值渐变为 0
el.fadeOut();

// 自定义效果: 淡出元素, opacity 从 当前值渐变为 25%,持续2秒
el.fadeOut({ opacity: .25, duration: 2000});

// 设置默认值的常用配置选项
el.fadeOut({
    opacity: 0, // 可以是 0 到 1 之间的任意数字(例如 .5)
    easing: 'easeOut',
    duration: 500,
    remove: false,
    useDisplay: false
});

Parameters

  • options : Object

    (可选参数) 包含任意Fx配置选项的字面量对象

Returns

( String selector, [Number/String/HTMLElement/Ext.Element limit], [Boolean returnEl] ) : HTMLElement

定位于此节点,以此节点为起点,向外围搜索外层的父节点,搜索条件必须符合并匹配传入的简易选择符(简易选择符形如 div.some-class 或 span:first-child)

Parameters

  • selector : String

    要进行测试的简易选择符

  • limit : Number/String/HTMLElement/Ext.Element (optional)

    搜索深度,可以为数字或元素,其导致向上遍历停止, 并考虑纳入作为结果。(默认是 50 || document.documentElement)

  • returnEl : Boolean (optional)

    true表示为返回Ext.Element类型的对象,false的话返回标准DOM类型的节点

    Defaults to: false

Returns

  • HTMLElement

    匹配的DOM节点(null的话表示没有找到匹配结果)

( String selector, [Number/String/HTMLElement/Ext.Element limit], [Boolean returnEl] ) : HTMLElement

定位于此节点的"父节点",以此节点的"父节点"为起点,向外围搜索外层的"父父"节点,搜索条件必须符合并匹配传入的简易选择符(简易选择符形如 div.some-class 或 span:first-child)

Parameters

  • selector : String

    要进行测试的简易选择符

  • limit : Number/String/HTMLElement/Ext.Element (optional)

    搜索深度,可以为数字或元素,其导致向上遍历停止, 并考虑纳入作为结果。(默认是 50 || document.documentElement)

  • returnEl : Boolean (optional)

    true表示为返回Ext.Element类型的对象,false的话返回标准DOM类型的节点

    Defaults to: false

Returns

  • HTMLElement

    匹配的DOM节点(null的话表示没有找到匹配结果)

( [String selector], [Boolean returnDom] ) : Ext.dom.Element/HTMLElement

获取第一个子元素,跳过文本节点

Parameters

  • selector : String (optional)

    通过简易选择符来查找第一个子元素

  • returnDom : Boolean (optional)

    true表示为返回原始过的DOM元素,而非Ext.Element类型的元素

    Defaults to: false

Returns

试着让元素(element)获取焦点(focus). 捕获并忽略所有异常.

Parameters

  • defer : Number (optional)

    延迟聚焦的毫秒值

Returns

判断此元素是的可以被聚焦(focused).

Returns

  • Boolean

    如果可以被聚焦,则返回true.

显示一个爆炸似的涟漪, 并让边界衰减以使元素充满吸引力. 用法如下:

// 默认效果: 单个淡蓝色的波纹(涟漪)
el.frame();

// 自定义效果: 持续3秒钟的 3 个红色的涟漪(red ripples).
el.frame("#ff0000", 3, { duration: 3 });

// 设置默认值的常用配置选项
el.frame("#C3DAF9", 1, {
    duration: 1 //每个单独的涟漪的持续时间
    // 注意: Easing在此处是不可配置的,如果包含了也会被忽略
});

Parameters

  • color : String

    (可选参数) 边框的颜色. 应该是没有开头的#号的 6 字符的十六进制颜色值 (默认是 light blue: 'C3DAF9').

  • count : Number

    (可选参数) 要显示的波纹(ripples)的数量 (默认是 1)

  • options : Object

    (可选参数) 包含任意Fx配置选项的字面量对象

Returns

返回在DOM中活动的元素。如果浏览器支持在文档上的 activeElement, 则这被返回。如果不支持, 焦点将被跟踪并且活动元素在内部维护。 ...

返回在DOM中活动的元素。如果浏览器支持在文档上的 activeElement, 则这被返回。如果不支持, 焦点将被跟踪并且活动元素在内部维护。

Returns

  • HTMLElement

    在文档中的活动(焦点)元素。

( String/HTMLElement/Ext.Element element, [String position], [Number[] offsets] ) : Number[]

获取要对齐此元素到另一个元素时的 x,y 坐标. 关于anchor位置的取值与详细信息请参考 alignTo.

Parameters

  • element : String/HTMLElement/Ext.Element

    要对齐的元素.

  • position : String (optional)

    要对齐的位置 (默认是 "tl-bl?",本元素左上角对齐到目标元素的左下角)

    Defaults to: "tl-bl?"

  • offsets : Number[] (optional)

    位置偏移量,格式: [x, y]

Returns

Overrides: Ext.dom.AbstractElement.getAlignToXY

( [String anchor], [Boolean local], [Object size] ) : Number[]

在当前元素上根据给定的anchor锚点位置获得 x,y 坐标.

Parameters

  • anchor : String (optional)

    指定的 anchor 位置.
    关于anchor位置的取值与详细信息请参考 alignTo.

    Defaults to: "c"

  • local : Boolean (optional)

    设置为 true 则获取的是元素内部相对的 (top/left-relative) anchor 位置,而不是绝对坐标

  • size : Object (optional)

    包含了目标元素尺寸size 的对象,用来计算anchor 位置. 格式如下: {width: (目标宽度,target width), height: (目标高度,target height)} (默认为元素当前的大小)

Returns

  • Number[]

    [x, y] 包含元素 x与y坐标值的数组

Overrides: Ext.dom.AbstractElement.getAnchorXY

返回元素的底层DOM节点的属性值。

Parameters

  • name : String

    属性名

  • namespace : String (optional)

    要查找属性所在的命名空间

Returns

从element元素的底层 DOM 节点返回 命名空间中 相应的属性值.

Parameters

  • namespace : String

    需要查找属性值的名称空间

  • name : String

    属性名

Returns

获取指定方位(side(s))的border宽度。

Parameters

  • side : String

    可以是t, l, r, b或是任何组合。 例如,传入lr的参数会得到left border + right border。

Returns

  • Number

    四边的border之和。

获取元素的底部Y坐标(元素Y位置 + 元素宽度)

Parameters

  • local : Boolean

    true表示为获取局部CSS位置而非页面坐标

Returns

返回一个对象,该对象定义此元素的区域,可以传递给setBox 来设置另一个元素的大小/位置,以匹配当前元素。 ...

返回一个对象,该对象定义此元素的区域,可以传递给setBox 来设置另一个元素的大小/位置,以匹配当前元素。

Parameters

  • contentBox : Boolean (optional)

    true表示为返回元素内容的box。

  • local : Boolean (optional)

    true表示为返回元素的left和top代替页面的x/y。

Returns

  • Object

    box 一个对象的格式:

    {
        x: <Element's X position>,
        y: <Element's Y position>,
        width: <Element's width>,
        height: <Element's height>,
        bottom: <Element's lower bound>,
        right: <Element's rightmost bound>
    }
    

    返回的对象也可作为一个数组,其中索引0包含的X位置, 索引1包含Y位置。所以,结果可能也会用于setXY

返回给定其 'id' 的元素的子元素。

Parameters

  • id : String

    所需的子元素的 id。

  • asDom : Boolean (optional)

    若为true则返回DOM元素, false则返回一个被包装的元素对象。

    Defaults to: false

计算当前元素要居中对齐时的横纵坐标值,等价getAlignToXY(document, 'c-c')

Returns

  • Number[]

    The x, y values [x, y]

( String attr, String defaultValue, [String prefix] )

为指定的CSS属性中返回 CSS color. rgb, 3 位值 (比如 #fff) 以及可以转换为标准的6位16进制颜色的合法的值.

Parameters

  • attr : String

    CSS属性

  • defaultValue : String

    如果没有找到可用的颜色值,则返回的默认值

  • prefix : String (optional)

    默认是 #. 如果需要对颜色值进行动画,可以使用空字符串(empty string).

返回 offsetHeight, 如果offsets不可用,则根据 CSS height 以及padding 或 borders来模拟此元素的高度. ...

返回 offsetHeight, 如果offsets不可用,则根据 CSS height 以及padding 或 borders来模拟此元素的高度. 如果没有通过CSS设置宽度,而且又指定了 display:none,则此方法将不起作用.

Returns

返回 offsetWidth, 如果offsets不可用,则根据 CSS width 以及padding 或 borders来模拟此元素的宽度. ...

返回 offsetWidth, 如果offsets不可用,则根据 CSS width 以及padding 或 borders来模拟此元素的宽度. 如果没有通过CSS设置宽度,而且又指定了 display:none,则此方法将不起作用.

Returns

( Object name )private

得到配置项

Parameters

通过给定的约束,返回此元素必须被平移位置的向量,格式为 [X, Y]. 如果此元素不需要移动则返回 false.

在约束条件中,优先考虑限制顶端和左边. (Priority is given to constraining the top and left within the constraint).

限制参数可以是此元素将被限制在其内的已存在的元素(element), 或者是此元素将被限制在其内的区域 Region.

Parameters

  • constrainTo : Ext.Element/Ext.util.Region

    此元素将被限制在其内的 元素Element 或者 区域Region.

  • proposedPosition : Number[]

    一个计划位置 [X, Y]; 为了测试有效性,使用一个向量来作为计划的位置,而不是此元素的当前位置;

Returns

  • Number[]/Boolean

    如果 此元素 需要 被平移(translated), 返回此元素必须被平移的坐标量,格式为 [X, Y]. 否则返回 false.

根据给定的"sides",返回总的宽度,包含 padding 以及 borders . 关于 边(sides)的信息请参考 getBorderWidth().

Parameters

Returns

返回元素的innerHTML,如果元素的DOM不存在, 则返回一个空字符串。 ...

返回元素的innerHTML,如果元素的DOM不存在, 则返回一个空字符串。

返回此元素高度偏移量

Parameters

  • contentHeight : Boolean (optional)

    设置为true将返回的高度减去边框和填充

Returns

得到初始化配置项

Parameters

获取左边的X坐标

Parameters

  • local : Boolean

    true表示为获取局部CSS位置而非页面坐标

Returns

返回该元素的top、left、right和bottom属性,以表示margin(外补丁)除非有side参数。 若有sides参数传入,即返回已计算好的sides宽度(参见getPading)。

Parameters

  • sides : String (optional)

    任何 l, r, t, b的组合,以获取该sides的统计。

Returns

返回此元素到给定的el元素之间的偏移量. 两个元素都必须在DOM树中, 不能有 display:none 这个属性, 才会有绝对坐标(page coordinates).

Parameters

Returns

  • Number[]

    XY 绝对坐标的偏移 (例如. [100, -200])

Overrides: Ext.dom.AbstractElement.getOffsetsTo

获取指定方位(side(s))的padding宽度。

Parameters

  • side : String

    可以是t, l, r, b或是任何组合。 例如,传入lr的参数会得到left padding + right padding。

Returns

返回一个对象,该对象定义此元素的区域,可以传递给setBox 来设置另一个元素的大小/位置,以匹配当前元素。 ...

返回一个对象,该对象定义此元素的区域,可以传递给setBox 来设置另一个元素的大小/位置,以匹配当前元素。

Parameters

Returns

  • Object

    box 一个对象的格式:

    {
        x: <Element's X position>,
        y: <Element's Y position>,
        width: <Element's width>,
        height: <Element's height>,
        bottom: <Element's lower bound>,
        right: <Element's rightmost bound>
    }
    

    返回的对象也可作为一个数组,其中索引0包含的X位置, 索引1包含Y位置。所以,结果可能也会用于setXY

得到当前元素的位置信息, 返回包含所有CSS位置属性的对象. 在执行更新时可以先获取快照信息(snapshot),完成以后再使用 #setPostioning 来对元素进行恢复.

Returns

返回此元素的区域信息(region). Element 必须是DOM树中的一部分,并且要有区域信息 (display:none 或者是不在文档树中的元素将会 return false).

Returns

  • Ext.util.Region

    包含"top, left, bottom, right" 这几个成员属性的区域(Region,范围)对象.

获取元素右边的X坐标(元素X位置 + 元素宽度)

Parameters

  • local : Boolean

    true表示为获取局部CSS位置而非页面坐标

Returns

创建一个调用函数,清理工作围绕在 WebKit RightMargin bug的问题。工作围绕的是添加"display: 'inline-block'"到 调用getComputedStyle之前的元素,然后恢复其原有的显示值。 ...

创建一个调用函数,清理工作围绕在 WebKit RightMargin bug的问题。工作围绕的是添加"display: 'inline-block'"到 调用getComputedStyle之前的元素,然后恢复其原有的显示值。 这样做的问题是,它破坏选择的 INPUT 或 TEXTAREA 元素 (比如"I型光标"消失但是焦点会遗留)。 在清理之后,我们需要捕获任何此类元素的所选内容, 在我们恢复显示样式之后还原它。

Parameters

( ) : HTMLElementprotected

根据 Ext.scopeResetCSS当前 element 的parent node

Returns

  • HTMLElement

    parent元素

返回元素当前的滚动位置.

Returns

  • Object

    返回一个保存滚动位置信息的对象,格式如下: {left: (scrollLeft), top: (scrollTop)}

返回元素大小。

Parameters

  • contentSize : Boolean (optional)

    true表示为获取的是减去border和padding的宽度大小

Returns

返回一个指定样式属性,基于计算/当前样式(首选的) 和内联样式如果首选不可用。 ...

返回一个指定样式属性,基于计算/当前样式(首选的) 和内联样式如果首选不可用。

Parameters

  • property : String/String[]

    样式属性(或数组中的多个属性名称), 返回其值。

  • inline : Boolean (optional)

    如果设置为 true 则只返回内联样式。

    Defaults to: false

Returns

  • String/Object

    此元素的样式属性的当前值 (或是如果请求多个属性参数,返回命名样式值的哈希)。

返回元素的可以放置内容的尺寸(dimensions) .

getStyleSize 优先使用style样式大小, 如果没有,则使用 offsetHeight/clientHeight中更大的那个, 对于 offsetWidth/clientWidth 也是选择更大的那个. 要获取不包含 scrollbars 的尺寸,请使用getViewSize. document 的 body 尺寸由特殊的适配器来处理,根据 IE 以及严格模式(strict modes)等.

Returns

返回传入的文本或者这个元素中的文本的像素宽度。

Parameters

  • text : String

    待度量的文本。默认为元素的innerHTML

  • min : Number (optional)

    返回的最小值

  • max : Number (optional)

    返回的最大值

Returns

获取顶部Y坐标

Parameters

  • local : Boolean

    true表示为获取局部CSS位置而非页面坐标

Returns

返回"值的"属性值

Parameters

  • asNumber : Boolean

    表示为将值解析为数字

Returns

返回此元素 的内容 区域范围(region). 即除去 borders 与 padding 的中间部分区域.

Returns

  • Ext.util.Region

    包含"top, left, bottom, right" 这几个成员属性的区域(Region,范围)对象.

返回可用于放置内容元素的尺寸。

如果该元素(或任何祖先元素)有 CSS 样式display: none,尺寸将会是零。

示例:

var vpSize = Ext.getBody().getViewSize();

// 所有窗口创建之后将都具有默认值为90%的高度和95%的宽度
Ext.Window.override({
    width: vpSize.width * 0.9,
    height: vpSize.height * 0.95
});
// 要处理窗口大小调整,你必须在onWindowResize挂钩上。

getViewSize利用clientHeight/clientWidth,不包括滚动条的大小调整。 若要获取包括滚动条的大小,使用getStyleSize

适配器级别的处理特殊情况下,IE浏览器和严格的模式来处理的文档正文的大小, 等等。

Returns

返回此元素的宽度偏移量

Parameters

  • contentWidth : Boolean (optional)

    设置为true将返回的宽度减去边框和填充

Returns

返回元素相对于页面坐标的X位置。元素必须是属于DOM树中的一部分才拥有正确的页面坐标 (display:none或未加入的elements返回false)。 ...

返回元素相对于页面坐标的X位置。元素必须是属于DOM树中的一部分才拥有正确的页面坐标 (display:none或未加入的elements返回false)。

Parameters

Returns

基于页面坐标,取得元素的当前位置.即取得绝对坐标. Element 必须是DOM树中的一部分,并且要有页面坐标 (display:none 或者是不在文档树中的元素将会 return false).

Returns

  • Number[]

    元素的 XY 位置数组.

Overrides: Ext.dom.AbstractElement.getXY

返回元素相对于页面坐标的Y位置。元素必须是属于DOM树中的一部分才拥有正确的页面坐标 (display:none或未加入的elements返回false)。 ...

返回元素相对于页面坐标的Y位置。元素必须是属于DOM树中的一部分才拥有正确的页面坐标 (display:none或未加入的elements返回false)。

Parameters

Returns

淡出元素的同时滑出元素. 可以指定一个锚点用来设置动画效果的终点.用法示例:

// 默认效果: 在淡出的同时向下滑
el.ghost();

// 自定义效果: 以2秒的持续时间,向右滑动淡出此元素
el.ghost('r', { duration: 2000 });

// 设置默认值的常用配置选项
el.ghost('b', {
    easing: 'easeOut',
    duration: 500
});

Parameters

  • anchor : String

    (可选参数) 一个合法的 Fx 锚点位置 (默认是 bottom: 'b')

  • options : Object

    (可选参数) 包含任意Fx配置选项的字面量对象

Returns

检查此元素的 DOM 节点上是否存在指定的 CSS 类。

Parameters

  • className : String

    要检查的 CSS 类

Returns

  • Boolean

    如果该类存在则返回 true ,否则返回 false

( Object config )private

根据名称判断配置项是否存在

Parameters

私有函数,根据当前逻辑上的可见状态(logical visibility state) 决定此元素是否有可用的宽高(relevant height and width available) ...

私有函数,根据当前逻辑上的可见状态(logical visibility state) 决定此元素是否有可用的宽高(relevant height and width available)

隐藏此元素 - 根据 display mode 来决定使用 "display" 还是 "visibility". 参见 setVisible.

Parameters

  • animate : Boolean/Object (optional)

    设置为 true 则使用默认动画(animation), 也可以设置为标准的 Element animation 配置对象

Returns

Overrides: Ext.dom.AbstractElement.hide

通过设置颜色值来突出显示(Highlight)此元素. (默认应用于背景色background-color, 但也可以通过options参数的属性 "attr" 来配置). 效果执行以后,再渐变还原为原来的颜色(original color). 如果没有原始颜色值, 则应该提供 "endColor" 配置选项, 终点颜色将在动画执行完成以后被清除。 用法示例如下:

// 默认效果: 将背景色高亮为黄色(yellow)
el.highlight();

// 自定义效果: 高亮前景的文本(color)为蓝色,持续2秒钟
el.highlight("0000ff", { attr: 'color', duration: 2000 });

// 设置默认值的常用配置选项
el.highlight("ffff9c", {
    attr: "backgroundColor", //可以是任意支持颜色值的 CSS 属性(attribute)
    endColor: (当前颜色值) 或者 "ffffff",
    easing: 'easeIn',
    duration: 1000
});

Parameters

  • color : String

    (可选参数) 高亮的颜色. 应该是没有开头的#号的 6 字符的十六进制颜色值 (默认是 yellow: 'ffff9c')

  • options : Object

    (可选参数) 包含任意Fx配置选项的字面量对象

Returns

( Function overFn, Function outFn, [Object scope], [Object options] ) : Ext.dom.Element

设置当鼠标移入和移出元素时的事件处理器.

Parameters

  • overFn : Function

    鼠标指针进入元素时的回调函数.

  • outFn : Function

    鼠标指针移出元素时的回调函数.

  • scope : Object (optional)

    函数调用的执行对象 (this 引用) . 默认是 Element 的 DOM 元素.

  • options : Object (optional)

    监听器的配置选项. 参见 the options parameter.

Returns

( Object config ) : Objectprotected
这个类的初始化配置。典型例子: Ext.define('My.awesome.Class', { // 这是默认配置 config: { name: 'Awesome', isAwes...

这个类的初始化配置。典型例子:

Ext.define('My.awesome.Class', {
    // 这是默认配置
    config: {
        name: 'Awesome',
        isAwesome: true
    },

    constructor: function(config) {
        this.initConfig(config);
    }
});

var awesome = new My.awesome.Class({
    name: 'Super Awesome'
});

alert(awesome.getName()); // 'Super Awesome' 超级棒

Parameters

Returns

  • Object

    mixins 混入原型 键-值对

( String group, Object config, Object overrides ) : Ext.dd.DD

为此元素初始化一个 Ext.dd.DD 拖放(drag drop)对象.

Parameters

  • group : String

    DD 对象所属的组

  • config : Object

    DD 的配置对象

  • overrides : Object

    在 DD 对象上要 override/implement 的方法所组成的object.

Returns

为此元素初始化一个 Ext.dd.DDProxy 对象.

Parameters

  • group : String

    DDProxy 对象所属的组

  • config : Object

    DDProxy 的配置对象

  • overrides : Object

    在 DDProxy 对象上要 override/implement 的方法所组成的object.

Returns

为此元素初始化一个 Ext.dd.DDTarget 对象.

Parameters

  • group : String

    DDTarget 对象所属的组

  • config : Object

    DDTarget的配置对象

  • overrides : Object

    在 DDTarget 对象上要 override/implement 的方法所组成的object.

Returns

在DOM中,把当前元素插入到所传递进来的元素之后

Parameters

Returns

将当前元素在DOM中插入到传递进来的元素之前

Parameters

Returns

插入(或创建)一个元素(或者一个DomHelper配置),作为当前元素的第一个子节点

Parameters

Returns

插入HTML片断到当前元素。

Parameters

  • where : String

    插入html的位置,与当前元素的位置关系 - beforeBegin, afterBegin, beforeEnd, afterEnd。 有关详细信息参见 Ext.dom.Helper.insertHtml

  • html : String

    HTML片断

  • returnEl : Boolean (optional)

    true表示为返回一个Ext.dom.AbstractElement类型的DOM对象。

    Defaults to: false

Returns

将传递进来的元素(或者DomHelper配置)插入(或者创建)成当前元素的兄弟节点。

Parameters

  • el : String/HTMLElement/Ext.dom.AbstractElement/Object/Array

    id,要插入的元素或一个 DomHelper 的配置来创建和插入 这些任意参数的一个数组。

  • where : String (optional)

    'before' 或 'after'

    Defaults to: "before"

  • returnDom : Boolean (optional)

    设置为true将返回原始的DOM元素而不是Ext.dom.AbstractElement

    Defaults to: false

Returns

如果这个元素符合传入的简易选择符的条件就返回true,简易选择符形如div.some-class或span:first-child。

Parameters

  • selector : String

    要进行测试的简易选择符

Returns

  • Boolean

    true表示元素匹配选择符成功,否则返回false

测试各种CSS规则/浏览器属性 来确定是否此元素使用了 border box

Returns

Returns 如果 display 属性不是 "none"则返回 true

Returns

如果此元素被遮罩层蒙住了则返回 true. 会重新将mask中显示过的消息 message 放到中心.

Returns

如果此元素时可滚动的,则返回 true.

Returns

检查一种样式的当前值是否等于给定的值。

Parameters

  • style : String

    返回其值的样式属性。

  • value : String

    要检查的值。

Returns

  • Boolean

    当当前值等于给定值时返回 true。

如果给定的属性值是视觉透明的则返回true。 这可能是由于一个 'transparent' 样式值或一个或 rgba 值与 0 的 alpha 分量。

Parameters

  • prop : String

    要测试的样式属性的值。

Returns

  • Boolean

    如果是视觉透明的样式属性,则为 true。

通过 visibility 和 display 属性来判断元素当前是否可见.

Parameters

  • deep : Boolean (optional)

    设置为 true 则查找并根据父元素是否可见来返回. 如果设置为 false,则此函数只判断元素自身,即便父元素不可见也可能会返回 true.

    Defaults to: false

Returns

  • Boolean

    如果可见则返回true, 否则返回 false

( [String selector], [Boolean returnDom] ) : Ext.dom.Element/HTMLElement

获取最后一个子元素,跳过文本节点

Parameters

  • selector : String (optional)

    通过简易选择符来查找最后一个元素

  • returnDom : Boolean (optional)

    true表示为返回原始过的DOM元素,而非Ext.Element类型的元素

    Defaults to: false

Returns

直接调用 Ext.ElementLoaderExt.ElementLoader.load 方法. 本方法将参数原样传递给 Ext.ElementLoader.load.

Parameters

Returns

在此元素上放置遮罩层,以阻止用户操作. 需要 core.css 支持. 此方法只可以在接受子节点的元素对象上使用.

Parameters

  • msg : String (optional)

    显示在遮罩层上的提示信息

  • msgCls : String (optional)

    应用到 msg 元素的css class.

Returns

Overrides: Ext.dom.AbstractElement.mask

( Object name, Object mixinClass )private

内部使用混入预处理器(mixins pre-processor)

Parameters

监控此元素上的鼠标离开. 只有在指定的延迟之内鼠标没有再次移入此元素时才调用 事件处理函数. 假若鼠标又回来 , 那么函数不会被调用.

Parameters

  • delay : Number

    在调用处理函数之前等待鼠标回来的延迟时间 单位毫秒 milliseconds.

  • handler : Function

    回调函数,如果指定时间之内鼠标都没有再次回来过,则会被调用.

  • scope : Object (optional)

    回调函数的执行范围 (this 引用). 默认是当前元素(Element).

Returns

  • Object

    添加到此元素的监听器对象,可被停止. 用法示例如下:

    // 如果鼠标移出去 250毫秒以上,则隐藏菜单
    this.mouseLeaveMonitor = this.menuEl.monitorMouseLeave(250, this.hideMenu, this);
    
    ...
    // 在菜单摧毁时 移除 mouseleave 监控器
    this.menuEl.un(this.mouseLeaveMonitor);
    
( String direction, Number distance, [Boolean/Object animate] )

相对于当前的位置,移动元素一段距离.

Parameters

  • direction : String

    方向值可以是:

    • "l" (或者 "left")
    • "r" (或者 "right")
    • "t" (或者 "top", 或者 "up")
    • "b" (或者 "bottom", 或者 "down")
  • distance : Number

    移动此元素多少距离,单位: 像素(pixel)

  • animate : Boolean/Object (optional)

    设置为 true 则使用默认动画(animation), 也可以设置为标准的 Element animation 配置对象

设置元素的绝对位置(page coordinates), 不管元素是何种定位方式(is positioned). 元素必须是DOM树中的一部分,并且要有页面坐标 (display:none 或者是不在文档树中的元素将会 return false).

Parameters

  • x : Number

    新位置的X 值 (绝对坐标,coordinates are page-based)

  • y : Number

    新位置的Y 值 (绝对坐标,coordinates are page-based)

  • animate : Boolean/Object (optional)

    设置为 true 则使用默认动画(animation), 也可以设置为标准的 Element animation 配置对象

Returns

如果此元素需要一个明确的 tabIndex 以使其可获得焦点则返回 true . input域,文本区,按钮,有 href 属性的a标签 等元素不需要 tabIndex, 而结构型的元素需要.

( [String selector], [Boolean returnDom] ) : Ext.dom.Element/HTMLElement

获取下一个侧边节点,跳过文本节点

Parameters

  • selector : String (optional)

    通过简易选择符来查找下一个侧边节点

  • returnDom : Boolean (optional)

    true表示为返回原始过的DOM元素,而非Ext.Element类型的元素

    Defaults to: false

Returns

( String eventName, Function fn, Object scope, Object options ) : Ext.dom.Element

添加一个事件处理器(event handler)到此元素.

Parameters

  • eventName : String

    要处理的事件名字.

  • fn : Function

    事件处理函数. 此函数可以接收到以下 3 个参数 :

    • evt : EventObject

      描述事件的 EventObject 对象.

    • el : HtmlElement

    作为事件 target 的 DOM 元素. 需要注意, 如果使用事件代理(delegate) 选项,则有可能被过滤掉.

    • o : Object

      设置到监听器 listener 的 配置选项对象(options object).

  • scope : Object

    (可选参数) 事件处理函数的作用域 (this 引用). 如果省略此参数, 默认是 this 元素Element.

  • options : Object

    (可选参数) 包含事件处理器配置选项的一个对象. 可以包含以下属性的任意组合:

    • scope Object :

      事件处理函数的作用域 (this 引用). 如果省略此参数, 默认是 this 元素Element.

    • delegate String:

      代理,一个简单的选择器(selector)字符串,用来过滤 target 或者查找其内部元素. 详细信息请参阅下面的内容.

    • stopEvent Boolean:

      如果设置为 true 则停止事件. 也就是停止事件传播并阻止默认行为.

    • preventDefault Boolean:

      设置为 true 则阻止默认行为.

    • stopPropagation Boolean:

      如果设置为 true 则停止事件传播

    • normalized Boolean:

      如果设置为 false 则将浏览器事件直接传递给事件处理器函数,而不是包装后的 Ext.EventObject

    • target Ext.dom.Element:

      只有事件直接发生在 target 元素上时才触发事件处理函数, 如果是从子节点冒泡而来,则不触发.

    • delay Number:

      在事件触发后延迟多少个毫秒(milliseconds)以后才执行回调函数.

    • single Boolean:

      设置为 true 则只在下一次事件触发时调用处理函数,调用完成即移除.

    • buffer Number:

      设置以后将会在指定的毫秒数以后由 Ext.util.DelayedTask 来调度执行. 如果在此时间范围内事件再次触发, 那么旧的事件处理器不会被执行,而在其调度时间点上执行新的事件处理器.

    组合选项(Combining Options)

    使用 options 参数, 可以组合(combine)为 不同类型的监听器:

    添加一个 延迟执行,只执行一次(one-time),自动停止事件, 并指定自定义参数 (forumId) 的事件监听. 配置选项options 对象会作为处理函数的第3 个参数. 代码如下:

    el.on('click', this.onClick, this, {
        single: true,
        delay: 100,
        stopEvent : true,
        forumId: 4
    });
    

    同时绑定多个事件

    on 方法也允许通过单个配置对象参数,此参数对象包含的各个属性,分别是多个事件及事件处理器配置.

    Code:

    el.on({
        'click' : {
            fn: this.onClick,
            scope: this,
            delay: 100
        },
        'mouseover' : {
            fn: this.onMouseOver,
            scope: this
        },
        'mouseout' : {
            fn: this.onMouseOut,
            scope: this
        }
    });
    

    或者简写的语法格式:

    代码:

    el.on({
        'click' : this.onClick,
        'mouseover' : this.onMouseOver,
        'mouseout' : this.onMouseOut,
        scope: this
    });
    

    delegate

    这是一个配置选项,通过注册的代理事件处理器,可以用来协助处理事件. 事件代理(Event delegation)是用来减少内存消耗,防止内存泄露(memory-leaks) 的一种技术手段. 可以在容器上注册一个事件而不必在容器内部的每个元素上注册一个. 通过设置此配置选项为一个简单的选择器(selector), 则 target 元素将被过滤为target的子孙元素. 示例代码如下:

    // 假设有如下HTML片段:
    <div id='elId'>
        <p id='p1'>paragraph one</p>
        <p id='p2' class='clickable'>paragraph two</p>
        <p id='p3'>paragraph three</p>
    </div>
    
    // 利用事件代理机制,则可以在父容器上只注册一个事件处理函数即可处理在各个子元素上发生的事件:
    el = Ext.get('elId');
    el.on(
        'click',
        function(e,t) {
            // 事件处理逻辑 ...
            console.info(t.id); // 'p2'
        },
        this,
        {
            // 过滤 target 为css类 'clickable' 元素的子孙元素.
            delegate: '.clickable'
        }
    );
    

Returns

( Object names, Object callback, Object scope )private

更新配置项

Parameters

( Object fn, Object scope )private

扩展事件

Parameters

( [String selector], [Boolean returnDom] ) : Ext.dom.Element/HTMLElement

返回当前节点的那个父节点,可选地可送入一个期待的选择符

Parameters

  • selector : String (optional)

    通过简易选择符来查找父节点

  • returnDom : Boolean (optional)

    true表示为返回原始过的DOM元素,而非Ext.Element类型的元素

    Defaults to: false

Returns

( Number seconds ) : Ext.Elementdeprecated

This method has been deprecated

4.0 在所有后续动画队列执行之前,创建一个pause暂停效果. 如果在pause后面没有动画队列(effects queued),则pause也就没有什么效果. 用法示例:

el.pause(1);

Parameters

  • seconds : Number

    暂停的时间(单位为秒)

Returns

为指定的输出map和一个有序对(例如['left', 'right']), 创建从 'margin-before' 到 'marginLeft'(等等)的映射。 ...

为指定的输出map和一个有序对(例如['left', 'right']), 创建从 'margin-before' 到 'marginLeft'(等等)的映射。 有序对在before/after次序中。

Parameters

( [String pos], [Number zIndex], [Number x], [Number y] )

初始化定位此元素. 如果没有传递所需的 position 定位方式,并且还未被定位过,则定位为 relative.

Parameters

  • pos : String (optional)

    定位方式,可以是 "relative", "absolute" 或 "fixed"

  • zIndex : Number (optional)

    要是有的zIndex值

  • x : Number (optional)

    设置页面 X 坐标

  • y : Number (optional)

    设置页面 Y 坐标

( [String selector], [Boolean returnDom] ) : Ext.dom.Element/HTMLElement

获取上一个侧边节点,跳过文本节点

Parameters

  • selector : String (optional)

    通过简易选择符来查找上一个侧边节点

  • returnDom : Boolean (optional)

    true表示为返回原始过的DOM元素,而非Ext.Element类型的元素

    Defaults to: false

Returns

以各个方向缓慢放大的效果 淡出 此元素. 当动画效果完成后, 此元素将会被隐藏 (visibility = 'hidden'), 但是 block 的元素将会继续占用文档中的位置. 用法如下:

// 默认效果
el.puff();

// 设置默认值的常用配置选项
el.puff({
    easing: 'easeOut',
    duration: 500,
    useDisplay: false
});

Parameters

  • options : Object

    (可选参数) 包含任意Fx配置选项的字面量对象

Returns

递归移除此元素以及子元素上的 所有监听器(listener)

Returns

( String selector ) : HTMLElement[]

传入一个CSS选择符的参数,然后基于该选择符选取其子节点(因为id的元素唯一的,所以选择符不应是id的选择符)。

Parameters

  • selector : String

    CSS选择符

Returns

  • HTMLElement[]

    匹配节点之数组

向此元素添加一个或多个 CSS 类,并移除从所有兄弟节点元素删除这个相同的类(列表)。

Parameters

  • className : String/String[]

    要添加的 CSS 类或类的数组

Returns

( String eventName, Object observable )
在此对象上创建一个事件处理器 以便当事件出发后被此元素所处理以后, 移入可以传播到其他对象 (例如, 再用哪个对象触发一次). ...

在此对象上创建一个事件处理器 以便当事件出发后被此元素所处理以后, 移入可以传播到其他对象 (例如, 再用哪个对象触发一次).

Parameters

  • eventName : String

    要继续传播的事件名字

  • observable : Object

    继承 Ext.util.Observable 的任意对象,用于供触发继续传播事件所使用的环境(context)

删除此元素的dom引用。注意在Ext.removeNode处理事件和缓存清除。

从此元素移除掉所有的监听器(listener)

Returns

移除此元素的所有 锚点(anchor). 参见 anchorTo.

Returns

从元素中删除一个或多个CSS类。

Parameters

  • className : String/String[]

    将被删除的用空格隔开的 CSS 类,或一个类的数组

Returns

un 的快捷方式.

从此元素移除一个事件处理器(event handler).

Note: 如果在 添加(adding) 监听器listener时明确指定了 执行范围 scope, 那么此处也必须指定同样的调用环境 scope.

使用示例:

el.un('click', this.handlerFn);
// 或者
el.removeListener('click', this.handlerFn);

Parameters

  • eventName : String

    要移除 handler 的事件名字.

  • fn : Function

    要移除的事件处理函数.

  • fn : Function

    The handler function to remove. 必须是在调用on 时添加的那个函数引用.

  • scope : Object

    如果在 添加(adding) 监听器listener时明确指定了 执行范围 scope, 那么此处也必须指定同样的调用环境 scope.

Returns

强制浏览器重新渲染该元素

Returns

使用当前元素替换传递进来的元素

Parameters

Returns

用另一个 CSS 类替换一个元素上的 CSS类。如果旧的名称不存在,新的名称将被直接添加。

Parameters

  • oldClassName : String

    要替换的 CSS 类

  • newClassName : String

    更换的 CSS 类

Returns

使用传递进来的元素替换当前元素

Parameters

Returns

( Number width, Number height, Object options ) : Ext.Elementdeprecated

This method has been deprecated

4.0 动画显示元素尺寸的改变,从起始的 height/width 过渡到最终的 height/width. 此方法是 shift 的一个快捷实现. 用法示例:

// 将宽高裁剪到 100x100 像素.
el.scale(100, 100);

// 设置默认值的常用配置选项.  
// 如果传入的相关属性是null,则 height 和 width 默认是元素已存在的值.
el.scale(
    [element's width],
    [element's height], {
        easing: 'easeOut',
        duration: .35
    }
);

Parameters

  • width : Number

    新的宽度 (传入 undefined 则保持原来的宽度)

  • height : Number

    新的高度 (传入 undefined 则保持原来的高度)

  • options : Object

    (可选参数) 包含任意Fx配置选项的字面量对象

Returns

( String direction, Number distance, [Boolean/Object animate] ) : Boolean

根据指定的方向, 滚动此元素. 执行边界检查,以确保在可滚动的范围.

Parameters

  • direction : String

    方向值可以是:

    • "l" (或者 "left")
    • "r" (或者 "right")
    • "t" (或者 "top", 或者 "up")
    • "b" (或者 "bottom", 或者 "down")
  • distance : Number

    滚动此元素多少距离,单位:像素

  • animate : Boolean/Object (optional)

    设置为 true 则使用默认动画(animation), 也可以设置为标准的 Element animation 配置对象

Returns

  • Boolean

    如果滚动触发,则返回 true; 如果元素不是立即滚动,而是直到可以滚动时才执行,则返回 false.

根据提供的delta值滚动此元素,可选择是否显示动画效果.

下面的 3 个写法都是等效的:

 el.scrollBy(10, 10, true);
 el.scrollBy([10, 10], true);
 el.scrollBy({ x: 10, y: 10 }, true);

Parameters

  • deltaX : Number/Number[]/Object

    可以是 x 的变化值(delta),或者是指定 x 和 y 的delta值的数组, 或者是含有 "x" 和 "y" 属性的对象.

  • deltaY : Number/Boolean/Object

    可以是 y 的变化值(delta), 或者是动画的标志位(animate flag)或动画配置对象.

  • animate : Boolean/Object

    如果 delta 值是分开的两个参数,那么此参数值代表 动画标志位(flag)/动画配置对象.

Returns

滚动此元素到给定的容器(container)内.

Parameters

  • container : String/HTMLElement/Ext.Element (optional)

    元素要滚动到的容器(container). 可以是字符串值 string (id), dom 节点, 或者 Ext.Element 对象.

    Defaults to: document.body

  • hscroll : Boolean (optional)

    设置为false,则禁用水平滚动(horizontal scroll).

    Defaults to: true

Returns

滚动此元素到指定的scroll point. 不做边界检查,即便是很不合理的值也会试着去滚动. 如果需要自动对边界进行检查,请使用 scroll.

Parameters

  • side : String

    如果要滚动 scrollLeft 值,请使用 "left"; 如果要滚动 scrollTop 值,请使用 "top".

  • value : Number

    新的滚动值

  • animate : Boolean/Object (optional)

    设置为 true 则使用默认动画(animation), 也可以设置为标准的 Element animation 配置对象.

Returns

传入一个CSS选择符的参数,然后依据该CSS选择符从当前元素下面,形成期待匹配子节点的集合,也就是"选择"的操作,最后以一个Ext.CompositeElement类型的组合元素的形式返回(因为id的元素唯一的,所以选择符不应是id的选择符)。

Parameters

  • selector : String

    CSS选择符

Returns

允许对此元素进行文本选择 (跨浏览器规范)

Returns

序列化一个DOM表单成URL编码的字符串形式

Parameters

Returns

  • String

    URL编码表单后的形式

将传递进来的属性设置为当前元素的属性(样式属性可以是一个字符串、一个对象或者一个函数)

Parameters

  • o : Object

    含有属性的对象

  • useSet : Boolean (optional)

    false表示为用expandos来重写默认的setAttribute。

    Defaults to: true

Returns

设置元素CSS bottom的样式。

Parameters

  • bottom : String

    CSS bottom属性值

Returns

在同一处 设置元素的位置和大小( position and size). 如果 animation 为 true 则同时并发地对 width, height, x 和 y 进行动画.

Parameters

  • x : Number

    新位置的X 值 (绝对坐标,coordinates are page-based)

  • y : Number

    新位置的Y 值 (绝对坐标,coordinates are page-based)

  • width : Number/String

    新的宽度. 可以是以下两种类型:

    • 指定新的 width 值的数字(Number),单位是此元素的 defaultUnit. (默认是像素,pixels)
    • 用来设置CSS 样式 width 的字符串. 不应该使用动画(Animation)
  • height : Number/String

    新的高度. 可以是以下两种类型:

    • 指定新的 height 值的数字(Number),单位是此元素的 defaultUnit. (默认是像素,pixels)
    • 用来设置CSS 样式 height 的字符串. 不应该使用动画(Animation)
  • animate : Boolean/Object (optional)

    设置为 true 则使用默认动画(animation), 也可以设置为标准的 Element animation 配置对象

Returns

设置元素之Box。使用getBox() 在其他对象身上获取box对象。 如果动画为true,那么高度和宽度都会同时出现动画效果。

Parameters

  • box : Object

    填充的Box {x, y, width, height}

  • adjust : Boolean (optional)

    是否自动调整由"箱子"问题引起的高度和宽度设置

  • animate : Boolean/Object (optional)

    true表示为默认的动画,或是一个配置项对象, 这个配置项是标准的"元素动画"对象

Returns

( Object config, Object applyIfNotSet )private

设置配置项

Parameters

设置 CSS 属性 display.如果指定了参数 value 为布尔值 true,则使用保存在originalDisplay中的原来的display属性.

Parameters

  • value : Boolean/String

    如果是boolean值,则根据真值 决定是否显示默认的display属性/或者是none; 如果 value 是字符串,则直接赋值给display属性.

Returns

设置该元素的innerHTML属性

Parameters

Returns

设置元素的高度。

// 高度更改为200px的地方和使用默认配置进行动画处理
Ext.fly('elementId').setHeight(200, true);

// 更改高度为150px,使用一个自定义的配置进行动画处理
Ext.fly('elId').setHeight(150, {
    duration : .5, // 动画会有0.5秒的持续时间
    // 将更改内容为"finished"
    callback: function(){ this.update("finished"); }
});

Parameters

  • height : Number/String

    新高度。这可能是其中一个:

    • 一个数字,在此元素的defaultUnit(默认情况下,单位为像素)中指定的新高度。
    • 一个字符串,用来设置 CSS 高度样式。动画可能被使用。
  • animate : Boolean/Object (optional)

    true表示为默认的动画,或是一个配置项对象,这个配置项是标准的"元素动画"对象

Returns

直接使用CSS样式(代替setX)设定元素的left位置。

Parameters

  • left : String

    CSS left属性值

Returns

设置 left 与 top 并添加默认单位的快捷方法.

Parameters

  • left : String

    CSS属性 left 的值

  • top : String

    CSS属性 top 的值

Returns

设置元素的绝对位置(page coordinates), 不管元素是何种定位方式(is positioned). 元素必须是DOM树中的一部分,并且要有页面坐标 (display:none 或者是不在文档树中的元素将会 return false).

Parameters

  • x : Number

    新位置的X 值 (绝对坐标,coordinates are page-based)

  • y : Number

    新位置的Y 值 (绝对坐标,coordinates are page-based)

  • animate : Boolean/Object (optional)

    设置为 true 则使用默认动画(animation), 也可以设置为标准的 Element animation 配置对象

Returns

设置元素的透明度

Parameters

  • opacity : Number

    新的透明度. 0 = transparent完全透明, .5 = 50% visibile, 1 = 完全可见, etc

  • animate : Boolean/Object (optional)

    可以设置为标准的 Element animation 配置对象; 如果设置为 true 则使用动画配置: ({duration: .35, easing: 'easeIn'})

Returns

使用由 getPositioning 方法返回的对象来设置元素的位置信息.

Parameters

Returns

根据给定的区域信息,设置元素的位置与大小. 如果 animation 为 true 则同时并发地对 width, height, x 和 y 进行动画.

Parameters

  • region : Ext.util.Region

    要设置的区域

  • animate : Boolean/Object (optional)

    设置为 true 则使用默认动画(animation), 也可以设置为标准的 Element animation 配置对象

Returns

设置元素CSS right的样式。

Parameters

  • right : String

    CSS right属性值

Returns

设置元素的大小尺寸。如果动画选项被打开,高度和宽度都会顺带产生变化的动画效果。

Parameters

  • width : Number/String

    新宽度。这可能是其中一个:

    • 一个数字,在此元素的defaultUnit(默认情况下,单位为像素)中指定的新宽度。
    • 一个字符串,用来设置 CSS 高度样式。动画可能被使用。
    • 调整大小的格式对象{width: widthValue, height: heightValue}
  • height : Number/String

    新高度。这可能是其中一个:

    • 一个数字,在此元素的defaultUnit(默认情况下,单位为像素)中指定的新高度。
    • 一个字符串,用来设置 CSS 高度样式。动画可能被使用。
  • animate : Boolean/Object (optional)

    true表示为默认的动画,或是一个配置项对象,这个配置项是标准的"元素动画"对象

Returns

设置元素的样式,也可以用一个对象参数包含多个样式。

Parameters

  • property : String/Object

    要设置的样式属性,或是包含多个样式的对象。

  • value : String (optional)

    样式属性的值,如果第一个参数是对象,则这个参数为null。

Returns

直接使用CSS样式(代替setY)设定元素的top位置。

Parameters

Returns

使用这个可以改变在VISIBILITYDISPLAYOFFSETSASCLASS之间的可见模式。

Parameters

设置元素的可见性(visibility,参见 details). 如果 visibilityMode 设置为 Element.DISPLAY, 将会使用 display 这个(CSS)属性来显示/隐藏 此元素. 否则就会使用 visibility 这个(CSS)属性. 默认情况下使用 visibility 属性来显示/隐藏 此元素.

Parameters

  • visible : Boolean

    决定此元素是否可见

  • animate : Boolean/Object (optional)

    设置为 true 则使用默认动画(animation), 也可以设置为标准的 Element animation 配置对象

Returns

Overrides: Ext.dom.AbstractElement.setVisible

设置元素的宽度。

Parameters

  • width : Number/String

    新宽度。这可能是其中一个:

    • 一个数字,在此元素的defaultUnit(默认情况下,单位为像素)中指定的新宽度。
    • 一个字符串,用来设置 CSS 宽度样式。动画可能被使用。
  • animate : Boolean/Object (optional)

    true表示为默认的动画,或是一个配置项对象,这个配置项是标准的“元素动画”对象。

Returns

设置元素相对于页面坐标的X位置。元素必须是属于DOM树中的一部分才拥有正确的页面坐标 (display:none或未加入的elements返回false)。 ...

设置元素相对于页面坐标的X位置。元素必须是属于DOM树中的一部分才拥有正确的页面坐标 (display:none或未加入的elements返回false)。

Parameters

  • x : Number

    元素的X位置

  • animate : Boolean/Object (optional)

    true表示为默认的动画,或是一个配置项对象, 这个配置项是标准的"元素动画"对象

Returns

设置元素的绝对位置(page coordinates), 不管元素是何种定位方式(is positioned). 元素必须是DOM树中的一部分,并且要有页面坐标 (display:none 或者是不在文档树中的元素将会 return false).

Parameters

  • pos : Number[]

    新设置的包含X与Y值的数组 [x, y] ;绝对坐标(coordinates are page-based)

  • animate : Boolean/Object (optional)

    设置为 true 则使用默认动画(animation), 也可以设置为标准的 Element animation 配置对象

Returns

Overrides: Ext.dom.AbstractElement.setXY

设置元素基于页面坐标的Y位置。元素必须是DOM树中的一部分才拥有页面坐标 (display:none或未加入的elements会当作无效而返回false)。 ...

设置元素基于页面坐标的Y位置。元素必须是DOM树中的一部分才拥有页面坐标 (display:none或未加入的elements会当作无效而返回false)。

Parameters

  • y : Number

    元素的Y位置

  • animate : Boolean/Object (optional)

    true表示为默认的动画,或是一个配置项对象, 这个配置项是标准的"元素动画"对象

Returns

Ext.Layer
( Number zindex ) : Ext.Layer

设置此图层的层次深度(z-index)并调整所有阴影和底衬的深度. 图层的深度会根据阴影或底衬的存在而自动 增长, 以使得图层总是能够位于这些关联元素之上.

如果存在底衬, 则它将被赋值传入的zindex参数. 阴影将被赋值更高一点深度, 然后是图层, 将被赋值为这之中最高的参数.

Parameters

  • zindex : Number

    新的深度值.

Returns

( Object options ) : Ext.Elementdeprecated

This method has been deprecated

4.0 动画显示元素尺寸的渐变,可以是任意的元素尺寸属性的组合. 比如 xy 位置 和/或 透明度opacity, 不指定的的属性不会被改变. 此效果至少需要配置以下的一项才会有效果,包括: 新的尺寸、位置、或者透明度设置.

用法示例:

// 水平地将元素滑到 x 位置 200,同时改变 height 以及 opacity
el.shift({ x: 200, height: 50, opacity: .8 });

// 设置默认值的常用配置选项.
el.shift({
    width: [element's width],
    height: [element's height],
    x: [element's x position],
    y: [element's y position],
    opacity: [element's opacity],
    easing: 'easeOut',
    duration: .35
});

Parameters

  • options : Object

    包含任意Fx配置选项的字面量对象

Returns

显示此元素 - 根据 display mode 来决定使用 "display" 还是 "visibility". 参见 setVisible.

Parameters

  • animate : Boolean/Object (optional)

    设置为 true 则使用默认动画(animation), 也可以设置为标准的 Element animation 配置对象

Returns

Overrides: Ext.dom.AbstractElement.show

将元素滑动到视图中. 可以指定一个锚点用来设置滑动效果的起点. 如果需要,本方法将自动使用一个固定大小的容器来包装此元素. 参考 Fx 类查看合法的锚点选项. 用法如下:

// 默认效果: 从顶部滑入
el.slideIn();

// 自定义效果: 持续2秒,从右边滑入
el.slideIn('r', { duration: 2000 });

// 设置默认值的常用配置选项
el.slideIn('t', {
    easing: 'easeOut',
    duration: 500
});

Parameters

  • anchor : String

    (可选参数) 一个合法的 Fx 锚点位置 (默认是顶部top: 't')

  • options : Object

    (可选参数) 包含任意Fx配置选项的字面量对象

    • preserveScroll : Boolean

      如果任意后代元素的 scrollTop 值需要保存,请设置为 true. 默认情况下由slideInslideOut执行的 DOM 的包装操作(wrapping operation) 将会导致浏览器丢失所有的滚动位置.

Returns

译者注: 根据源码可知, slideOut 的实现调用的是slideIn, 仅仅加了一个标志位:slideOut在第三个参数位置上.(第三个参数是不对外开放的). ...

译者注: 根据源码可知, slideOut 的实现调用的是slideIn, 仅仅加了一个标志位:slideOut在第三个参数位置上.(第三个参数是不对外开放的). 将元素平滑移出视图外. 可以指定一个锚点用来设置滑动效果的终点(end point). 当动画效果完成以后, 此元素将会被隐藏 (visibility = 'hidden'),但是 block 的元素将会继续占用文档中的位置. 如果需要从DOM中删除,则需要使用 'remove' 配置项. 如果需要,本方法将自动使用一个固定大小的容器来包装此元素. 参考 Fx 类查看合法的锚点选项. 用法如下:

// 默认效果: 从顶部滑出
el.slideOut();

// 自定义效果: 持续2秒,从右边滑出
el.slideOut('r', { duration: 2000 });

// 设置默认值的常用配置选项
el.slideOut('t', {
    easing: 'easeOut',
    duration: 500,
    remove: false,
    useDisplay: false
});

Parameters

  • anchor : String

    (可选参数) 一个合法的 Fx 锚点位置 (默认是 top: 't')

  • options : Object

    (可选参数) 包含任意Fx配置选项的字面量对象

Returns

获取从该对象被实例化的类的引用。 请注意不同于 self, this.statics()是独立的作用域,无论this是否运行,总是返回其中的调用类。

Ext.define('My.Cat', {
    statics: {
        totalCreated: 0,
        speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
    },

    constructor: function() {
        var statics = this.statics();

        alert(statics.speciesName);     // 总是等于'Cat',无论'this'是什么,
                                        // 相当于:My.Cat.speciesName

        alert(this.self.speciesName);   // 依赖 'this'

        statics.totalCreated++;
    },

    clone: function() {
        var cloned = new this.self;                      // 依赖 'this'

        cloned.groupName = this.statics().speciesName;   // 相当于: My.Cat.speciesName

        return cloned;
    }
});


Ext.define('My.SnowLeopard', {
    extend: 'My.Cat',

    statics: {
        speciesName: 'Snow Leopard'     // My.SnowLeopard.speciesName = 'Snow Leopard'
    },

    constructor: function() {
        this.callParent();
    }
});

var cat = new My.Cat();                 // alerts 'Cat', 然后提示 'Cat'

var snowLeopard = new My.SnowLeopard(); // alerts 'Cat', 然后提示 'Snow Leopard'

var clone = snowLeopard.clone();
alert(Ext.getClassName(clone));         // alerts 'My.SnowLeopard'
alert(clone.groupName);                 // alerts 'Cat'

alert(My.Cat.totalCreated);             // alerts 3

Returns

停止指定事件(数组/单个)的冒泡,并可选择是否阻止默认行为

Parameters

  • eventName : String/String[]

    要阻止冒泡的 单个event / 或者events数组

  • preventDefault : Boolean (optional)

    设置为 true 则阻止默认行为

Returns

当点击此元素时 进行闪烁(Blink) , 随后消逝在其中心 (类似于关闭一台老式的CRT电视机). 当动画效果完成后, 此元素将会被隐藏 (visibility = 'hidden'), 但是 block 的元素将会继续占用文档中的位置. 如果需要从DOM中删除,则需要使用 'remove' 配置项. 用法如下:

// 默认效果
el.switchOff();

// 全部设置默认值的配置选项
el.switchOff({
    easing: 'easeIn',
    duration: .3,
    remove: false,
    useDisplay: false
});

Parameters

  • options : Object

    (可选参数) 包含任意Fx配置选项的字面量对象

Returns

Ext.Layer
( Boolean doShow )private

同步当前图层的关联元素、阴影、和底衬.

此方法可以在几毫秒内多次执行, 例如: 拖拽一个配置了'liveDrag: true'的组件, 或一个不包含 虚拟化方法而导致出现大量为节约性能而牺牲代码长度(例如 没有getBox/setBox, 或没有XY可访问)的组件.

Parameters

  • doShow : Boolean

    传入'true'以确保阴影肯定被显示.

根据 visibility 模式,切换元素的 visibility(可见性) 或者 display(显示状态).

Parameters

  • animate : Boolean/Object (optional)

    设置为 true 则使用默认动画(animation), 也可以设置为标准的 Element animation 配置对象

Returns

切换此元素上指定的 CSS 类(如果它已经存在则移除,否则添加)。

Parameters

  • className : String

    要切换的 CSS 类

Returns

送入一个页面坐标的参数,将其解析成元素的CSS left/top值

Parameters

  • x : Number/Array

    页面x 或 数组 [x, y]

  • y : Number (optional)

    如x不是数组那必须指定y

Returns

  • Object

    一个包含left和top属性的对象。例如 {left: (value), top: (value)}

配置扩展

从此元素移除一个事件处理器(event handler).

Note: 如果在 添加(adding) 监听器listener时明确指定了 执行范围 scope, 那么此处也必须指定同样的调用环境 scope.

使用示例:

el.un('click', this.handlerFn);
// 或者
el.removeListener('click', this.handlerFn);

Parameters

  • eventName : String

    要移除 handler 的事件名字.

  • fn : Function

    要移除的事件处理函数.

  • fn : Function

    The handler function to remove. 必须是在调用on 时添加的那个函数引用.

  • scope : Object

    如果在 添加(adding) 监听器listener时明确指定了 执行范围 scope, 那么此处也必须指定同样的调用环境 scope.

Returns

重新恢复裁剪过得溢出部分为使用 clip 之前的状态

Returns

隐藏先前应用的遮罩层.

Overrides: Ext.dom.AbstractElement.unmask

为此元素禁用文本选择 (跨浏览器规范)

Returns

沿着DOM,向外围搜索外层的"父父"节点,搜索条件必须符合并匹配传入的简易选择符(简易选择符形如 div.some-class or span:first-child)。 这是对于findParentNode()的一个便捷方法,它总是返回Ext.Element类型的节点。

Parameters

  • selector : String

    要进行测试的简易选择符

  • limit : Number/String/HTMLElement/Ext.Element (optional)

    搜索深度,可以为数字或元素,其导致向上遍历停止, 并考虑纳入作为结果。(默认是 50 || document.documentElement)

Returns

  • Ext.Element

    匹配的DOM节点(null的话表示没有找到匹配结果)

( String html, [Boolean loadScripts], [Function callback] ) : Ext.dom.Element

更新此元素的 innerHTML, 可配置是否查找并处理脚本scripts.

Parameters

  • html : String

    新的HTML

  • loadScripts : Boolean (optional)

    设置为true则查找并处理脚本scripts (默认值为 false)

  • callback : Function (optional)

    当异步脚本script加载完成后的回调函数

Returns

Overrides: Ext.dom.AbstractElement.update

( [Object config], [Boolean returnDom] ) : HTMLElement/Ext.dom.AbstractElement

使用另一个元素创建并包装当前元素

Parameters

  • config : Object (optional)

    用来包装元素的DomHelper元素配置对象,或者是一个空的div时,此值为null

  • returnDom : Boolean (optional)

    设置为true时将返回原始的DOM元素而不是Ext.dom.AbstractElement

    Defaults to: false

Returns

Defined By

Static Methods

( Object members )static

方法/属性添加到这个类的原型。

Ext.define('My.awesome.Cat', {
    constructor: function() {
        ...
    }
});

 My.awesome.Cat.implement({
     meow: function() {
        alert('Meowww...');
     }
 });

 var kitty = new My.awesome.Cat;
 kitty.meow();

Parameters

添加/重写这个类的静态属性。

Ext.define('My.cool.Class', {
    ...
});

My.cool.Class.addStatics({
    someProperty: 'someValue',      // My.cool.Class.someProperty = 'someValue'
    method1: function() { ... },    // My.cool.Class.method1 = function() { ... };
    method2: function() { ... }     // My.cool.Class.method2 = function() { ... };
});

Parameters

Returns

( Ext.Base fromClass, Array/String members ) : Ext.Baseprivatestatic
这个类的原型借用另一个类的成员 Ext.define('Bank', { money: '$$$', printMoney: function() { alert('$$$$$$$'); } ...

这个类的原型借用另一个类的成员

Ext.define('Bank', {
    money: '$$$',
    printMoney: function() {
        alert('$$$$$$$');
    }
});

Ext.define('Thief', {
    ...
});

Thief.borrow(Bank, ['money', 'printMoney']);

var steve = new Thief();

alert(steve.money); // alerts '$$$'
steve.printMoney(); // alerts '$$$$$$$'

Parameters

Returns

创建这个类的新实例。

Ext.define('My.cool.Class', {
    ...
});

My.cool.Class.create({
    someConfig: true
});

所有参数传递至类的构造。

Returns

创建现有的原型方法的别名。例如: Ext.define('My.cool.Class', { method1: function() { ... ...

创建现有的原型方法的别名。例如:

Ext.define('My.cool.Class', {
    method1: function() { ... },
    method2: function() { ... }
});

var test = new My.cool.Class();

My.cool.Class.createAlias({
    method3: 'method1',
    method4: 'method2'
});

test.method3(); // test.method1()

My.cool.Class.createAlias('method5', 'method3');

test.method5(); // test.method3() -> test.method1()

Parameters

检索Ext.dom.Element对象。Ext.getExt.dom.Element.get的别名。

此方法不会检索Components.此方法检索封装DOM元素的Ext.dom.Element 对象。若要检索组件按其ID,请使用Ext.ComponentManager.get

使用简单的缓存来始终返回相同的对象。 自动修复如果一个对象通过AJAX或DOM被重新创建具有相同id。

Parameters

Returns

以字符串格式,获取当前类的名称。

Ext.define('My.cool.Class', {
    constructor: function() {
        alert(this.self.getName()); // alerts 'My.cool.Class'
    }
});

My.cool.Class.getName(); // 'My.cool.Class'

Returns

( Mixed clsList1, Mixed clsList2 ) : Arraystatic
根据输入字符串或字符串数组返回一个唯一的类名称列表的数组 参数的个数是不限的。 ...

根据输入字符串或字符串数组返回一个唯一的类名称列表的数组

参数的个数是不限的。

示例

// 添加 x-invalid 和 x-mandatory 类,不要重复添加
myElement.dom.className = Ext.core.Element.mergeClsList(this.initialClasses, 'x-invalid x-mandatory');

Parameters

  • clsList1 : Mixed

    一个类名称列表的字符串,或是一个类名称列表的数组。

  • clsList2 : Mixed

    一个类名称列表的字符串,或是一个类名称列表的数组。

Returns

  • Array

    一个字符串数组表示其他唯一的,合并的类名称列表。 如果将类名称添加到第一个列表,changed 属性将为true

( Object members ) : Ext.Basedeprecatedstatic

重写这个类的成员。通过callParent重写的方法可以调用。

Ext.define('My.Cat', {
    constructor: function() {
        alert("I'm a cat!");
    }
});

My.Cat.override({
    constructor: function() {
        alert("I'm going to be a cat!");

        this.callParent(arguments);

        alert("Meeeeoooowwww");
    }
});

var kitty = new My.Cat(); // alerts "I'm going to be a cat!我要成为一只猫!"
                          // alerts "I'm a cat!我是一只猫!"
                          // alerts "Meeeeoooowwww"

在4.1版本, 直接利用这种方法已经过时了。 使用 Ext.define 代替:

Ext.define('My.CatOverride', {
    override: 'My.Cat',
    constructor: function() {
        alert("I'm going to be a cat!");

        this.callParent(arguments);

        alert("Meeeeoooowwww");
    }
});

以上完成了相同的结果,但可以由Ext.Loader重写, 其目标类和生成过程中,可以决定是否需要根据目标类所需的状态覆盖管理(My.Cat)。

This method has been deprecated since 4.1.0

使用 Ext.define 代替

Parameters

  • members : Object

    添加到这个类的属性。 这应当被指定为一个对象包含一个或多个属性的文字。

Returns

( Mixed existingClsList, Mixed removeClsList ) : Arraystatic
返回唯一的类名的数组deom, 包含所有类名称的第一个参数从第二个参数进行删除后得到的 示例 // 如果存在的话,删除 x-invalid 和 x-mandatory 类。 ...

返回唯一的类名的数组deom, 包含所有类名称的第一个参数从第二个参数进行删除后得到的

示例

// 如果存在的话,删除 x-invalid 和 x-mandatory 类。
myElement.dom.className = Ext.core.Element.removeCls(this.initialClasses, 'x-invalid x-mandatory');

Parameters

  • existingClsList : Mixed

    一个类名称列表的字符串,或是一个类名称列表的数组。

  • removeClsList : Mixed

    一个类名称列表的字符串,或是一个类名称列表的数组从existingClsList中删除。

Returns

  • Array

    一个字符串数组表示其他的类名称列表。如果类的名称被删除,changed属性将为true

Defined By

Events

如果支持此事件, 当一个元素 element 被激活时触发, 比如, 通过鼠标点击或者键盘按键.

Parameters

如果支持此事件, 当节点的某个属性被修改时触发.

Parameters

如果支持此事件, 当字符数据(character data)被修改时触发.

Parameters

如果支持此事件, 则类似于 HTML focus 事件一样, 但可用于所有可获取焦点的元素.

Parameters

如果支持此事件, 则类似于 HTML blur 事件一样, 但可用于所有可获取焦点的元素.

Parameters

如果支持此事件, 当一个节点被加入到另一个节点之中时触发

Parameters

如果支持此事件, 当一个节点被插入到document文档之中时触发.

Parameters

如果支持此事件, 当节点的某个子节点被移除时触发.

Parameters

如果支持此事件, 当一个节点被从document文档之中移除时触发.

Parameters

如果支持此事件, 当 subtree 被改变后触发.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当一个 object插件/image 在加载完成以前被中止时触发.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当某个元素失去输入聚焦时触发,不论是通过鼠标还是通过 tab 键导航到的.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当输入域(control)失去焦点以后,并且其值与获得焦点时相比发生改变 则触发.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当在元素内检测到鼠标click时触发.

Parameters

当在元素内检测到鼠标右键单击时触发.

Parameters

当在元素内检测到鼠标双击时触发.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当一个 object插件/image/frame 不能正确加载时触发.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当某个元素获得输入聚焦时触发,不论是通过鼠标还是通过 tab 键导航到的.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当在元素内检测到键盘按键按下(keydown)时触发.

Parameters

当在元素内检测到键盘按键(keypress)时触发.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当在元素内检测到键盘按键放开(keyup)时触发.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当浏览器(user agent)加载完成此元素内所有的内容后触发. 只支持 window, frames, objects插件 以及 images.

Parameters

当在元素内检测到鼠标键被按下时触发.

Parameters

当 mouseenter(鼠标移入)元素时触发.

Parameters

当 mouseleave(鼠标离开)元素时触发.

Parameters

当在元素上检测到 mousemove(鼠标移动)时触发.

Parameters

当在元素上检测到 mouseout(鼠标移出)时触发.

Parameters

当在元素上检测到 mouseover(鼠标滑过,进入)时触发.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当在元素内检测到鼠标键放开时触发.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当表单重置时触发.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当一个 文档视图(document view)改变大小时触发.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当一个 文档视图(document view)发生滚动时(scrolled)触发.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当用户在文本输入域中选择一部分文本时触发, 包括 input 和 textarea.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当表单提交时触发.

Parameters

( Ext.EventObject e, HTMLElement t, Object eOpts )

当浏览器(user agent)从window 或者 frame 移除所有内容后触发. 对于elements来说,只有target元素和/或 所有的内容被移除后才触发.

Parameters