Ext.dd.DragDrop

Hierarchy

Ext.Base
Ext.dd.DragDrop

Subclasses

Files

定义接口和基本操作的项,可以拖动或放下目标。 它的目的是为了扩展,重写startDrag,onDrag,onDragOver和onDragOut的事件处理程序。 三个HTML元素与DragDrop实例:

  • linked element: 被传递到构造函数的元素。 这是与其他的DragDrop对象相互作用的边界定义的元素。

  • handle element(s): 拖动操作只发生在被点击的元素相匹配的处理元素。 默认情况下,这是链接的元素, 但也有时候,你需要启动拖动操作,这只是链接元素的一部分, 并且setHandleElId()方法提供了一种定义。

  • drag element: 这代表了在拖动操作期间,将光标移动的元素。 默认情况下,这是链接的元素本身 Ext.dd.DD. setDragElId() 让你定义单独的移动元素, 在 Ext.dd.DDProxy.

这个类不能被实例化,直到onload事件,以确保相关的元素。 以下将定义DragDrop的OBJ互动“group1”的组中的任何其他的DragDrop OBJ:

dd = new Ext.dd.DragDrop("div1", "group1");

如果你运行上面的代码,由于没有任何事件处理程序得到落实,所以什么都不会发生。 通常你会重写这个类的默认函数,你也可以重写你想要的类的实例方法...

dd.onDragDrop = function(e, id) {
    alert("dd was dropped on " + id);
}
Defined By

Properties

扩展事件

Defaults to: []

Ext.dd.DragDrop
: Booleanprivate

内置的typeof运算符标志

Defaults to: true

Ext.dd.DragDrop
: Objectprivate

缓存参考链接元素

Defaults to: null

Ext.dd.DragDrop
: Boolean
可用的 可用属性默认设置为false,直至链接的dom元素可以访问。 ...

可用的 可用属性默认设置为false,直至链接的dom元素可以访问。

Defaults to: false

Ext.dd.DragDrop
: Object

配置属性传递到构造

Defaults to: null

Ext.dd.DragDrop
: Booleanprivate

设置为true时,应用于横向约束

Defaults to: false

Ext.dd.DragDrop
: Booleanprivate

设置为true时,应用于垂直约束

Defaults to: false

Ext.dd.DragDrop
: Object

提供了默认的约束填充“constrainTo”元素。

Defaults to: {left: 0, right: 0, top: 0, bottom: 0}

Ext.dd.DragDrop
: Stringprivate

将被拖动的元素的id。 默认情况下,这是作为链接的元素,但可以改变到另一个元素。 Ex: Ext.dd.DDProxy

Defaults to: null

Ext.dd.DragDrop
: Object

这个组定义了相关的DragDrop对象的逻辑集合。只得到实例事件与其他在同一组的DragDrop对象进行交互的时候。 如果我们想定义多个组,使用单一的DragDrop子类,。

对象中的格式 {'group1':true, 'group2':true}

Defaults to: null

Ext.dd.DragDrop
: Stringprivate

启动拖动操作的元素的id。 默认情况下,这是链接的的元素,但可以改变此元素的子元素。 这让我们做的事情像是点击链接的HTML元素内的头元素时才开始拖动。

Defaults to: null

Ext.dd.DragDrop
: Boolean

默认情况下,如果在MouseDown链接的元素是在该地区发生,拖动只能被启动。 This is done in part to work around a bug in some browsers that mis-report the mousedown if the previous mouseup happened outside of the window. 这是解决在一些浏览器的bug,错误报告的MouseDown,如果以前的mouseup窗外发生。 如果处理自定义,此属性应设置为true。默认为false。

Defaults to: false

Ext.dd.DragDrop
: String

与此对象关联元素的id。 这是“链接元素”,因为该元素的大小和位置是用来确定的时候拖放对象交互。

Defaults to: null

Ext.dd.DragDrop
: Boolean
自动忽略 设置为false使DragDrop对象解雇拖动事件同时拖动其自己的元素。 ...

自动忽略 设置为false使DragDrop对象解雇拖动事件同时拖动其自己的元素。 默认为true - DragDrop对象默认情况下不触发拖动事件。

Ext.dd.DragDrop
: String[]

阵列元素的CSS类名被视为无效,拖动处理。

Defaults to: null

Ext.dd.DragDrop
: Object

确定对象的属性名的元素拖动控被视为无效的id。 非空的属性值确定为无效的ID。例如,以防止被"foo"的元素的ID启动拖动,使用:

{
    foo: true
}

Defaults to: null

Ext.dd.DragDrop
: Object

确定对象的属性名作为拖动控被视为无效的HTML标签。 非空的属性值确定为无效的标签。默认为以下值,以防止被<a>元素启动拖动操作:

{
    A: "A"
}

Defaults to: null

Ext.dd.DragDrop
: Boolean

默认情况,所有实例都是可以放下的目标。 可以通过设置isTarge为false禁用。

Defaults to: true

Ext.dd.DragDrop
: Booleanprivate

个别的 拖/放 实例可以被锁定。 这将防止 onMousedown 开始拖动。

Defaults to: false

Ext.dd.DragDrop
: Boolean
保持偏移 保持偏移时,我们重置约束。 ...

保持偏移 保持偏移时,我们重置约束。 当你想的到它的父元素的相对位置保持不变,设置为true时页面变化 当页面变化希望元素的相对位置与父级保持不变,设置为true

Defaults to: false

Ext.dd.DragDrop
: Numberprivate
最大X坐标 右边的约束 ...

最大X坐标 右边的约束

Defaults to: 0

Ext.dd.DragDrop
: Numberprivate
最大Y坐标 向下约束 ...

最大Y坐标 向下约束

Defaults to: 0

Ext.dd.DragDrop
: Numberprivate
最小X坐标 左边的约束 ...

最小X坐标 左边的约束

Defaults to: 0

Ext.dd.DragDrop
: Numberprivate
最小Y坐标 向上的约束 ...

最小Y坐标 向上的约束

Defaults to: 0

Ext.dd.DragDrop
: Boolean

设置为true时,拖动其他的DD对象时,DDGroups不会收到事件通知

Defaults to: false

Ext.dd.DragDrop
: Number[]

配置填充拖放对象,计算放下区域与此对象的交集。

阵列padding包含4个值: [top, right, bottom, left]

Defaults to: null

Ext.dd.DragDrop
: Boolean

默认情况下,拖放实例将只响应点击主按钮(右手鼠标左键)。 设置为true,允许拖放,启用鼠标在浏览器上任意散布点击

Defaults to: true

本身 获取当前类的引用,此对象被实例化。不同于 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'
Ext.dd.DragDrop
: Numberprivate

链接元素的时候绝对的X坐标开始拖动

Defaults to: 0

Ext.dd.DragDrop
: Numberprivate

链接元素的时候绝对的X坐标开始拖动

Defaults to: 0

Ext.dd.DragDrop
: Number[]

如果我们指定了水平的记号/间隔,阵列元素的像素位置将被捕捉到。 当你定义记号间隔,自动生成阵列。

Defaults to: null

Ext.dd.DragDrop
: Number[]

如果我们指定了垂直的记号/间隔,阵列元素的像素位置将被捕捉到。 当你定义记号间隔,自动生成阵列。

Defaults to: null

Methods

Defined By

Instance Methods

Ext.dd.DragDrop
new( String id, String sGroup, Object config ) : Object

创建新的 DragDrop 实例。

Parameters

  • id : String

    链接到该实例的元素

  • sGroup : String

    相关的DragDrop对象组

  • config : Object

    包含配置属性的对象 有效的DragDrop属性:

    • padding 填充
    • isTarget 目标
    • maintainOffset 保持偏移
    • primaryButtonOnly 主按钮

Returns

( Object config )private

添加配置

Parameters

Parameters

Ext.dd.DragDrop
( String cssClass )

指定元素的CSS类(样式),不启动拖动操作

Parameters

  • cssClass : String

    你想忽略的元素CSS类

Ext.dd.DragDrop
( String id )

指定元素的id,不启动拖动操作

Parameters

  • id : String

    你想忽略的元素的id

Ext.dd.DragDrop
( String tagName )
指定标签名称,不启动拖动操作 这是为了协助启动拖动处理的内嵌入链接 ...

指定标签名称,不启动拖动操作 这是为了协助启动拖动处理的内嵌入链接

Parameters

  • tagName : String

    你想忽略的标签名称

( Object name, Object member )private

Parameters

Ext.dd.DragDrop
( String sGroup )

添加一组相关的拖/放对象到实例中。 所有实例属于至少一组, 并且根据需要可以属于多组

Parameters

  • sGroup : String

    该组的名称

( Object xtype )private

添加 Xtype

Parameters

Ext.dd.DragDrop
( )

适用于被传递到构造函数的参数配置。 这应该发生于每一级通过继承链。 So 为了得到每个对象的所有参数,DDProxy 完成执行应用于配置DDProxy,DD,和DragDrop。

Ext.dd.DragDrop
( Object e )private

立即执行前onDrag事件的代码

Parameters

Ext.dd.DragDrop
( Object e )private

在onDragDrop事件前立即执行的代码

Parameters

Ext.dd.DragDrop
( Object e )private

立即执行前onDragOut事件的代码

Parameters

Ext.dd.DragDrop
( Object e )private

在onDragOver事件前立即执行的代码

Parameters

Ext.dd.DragDrop
( Object e )private

在endDrag事件前立即执行的代码

Parameters

Ext.dd.DragDrop
( Event e )private

onMouseDown事件之前立即执行的代码

Parameters

  • e : Event

    mousedown事件

Ext.dd.DragDrop
( Object x, Object y )private

立即执行的startDrag事件之前的代码

Parameters

( 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

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

Ext.dd.DragDrop
( )

清除应用到该实例的任何约束。 另外清除记号,因为他们可以在这个时候不存在独立的约束。

Ext.dd.DragDrop
( )

清除此实例中定义的任何记号间隔

Ext.dd.DragDrop
( String/HTMLElement/Ext.Element constrainTo, Object/Number pad, Boolean inContent )

初始化拖放对象的约束,限制某些元素的移动。

用法:

var dd = new Ext.dd.DDProxy("dragDiv1", "proxytest",
               { dragElId: "existingProxyDiv" });
dd.startDrag = function(){
    this.constrainTo("parent-id");
};

你也可以使用初始化 Ext.Element 对象:

Ext.get("dragDiv1").initDDProxy("proxytest", {dragElId: "existingProxyDiv"}, {
    startDrag : function(){
        this.constrainTo("parent-id");
    }
});

Parameters

  • constrainTo : String/HTMLElement/Ext.Element

    要约束的元素或元素id。

  • pad : Object/Number

    (可选) Pad 提供了一种方法来指定"padding" 的约束, 并可以是对称的填充数(4 个值等于 {left:4, right:4, top:4, bottom:4}) 或对象其中包含双方的pading。 例如: {right:10, bottom:10}

  • inContent : Boolean

    (可选) 限制在该元素的内容框的拖动 (内侧填充和边框)

Ext.dd.DragDrop
( Event e )

拖动对象是调用的代码

Parameters

  • e : Event

    mouseup事件

( Object config )private

拓展

Parameters

( Object name )private

得到配置项

Parameters

Ext.dd.DragDrop
( ) : HTMLElement
返回引用到实际元素拖动。默认情况,这是相同的HTML元素, 但它可以被分配到另一个元素。 ...

返回引用到实际元素拖动。默认情况,这是相同的HTML元素, 但它可以被分配到另一个元素。 这样的例子,可以在Ext.dd.DDProxy找到

Returns

  • HTMLElement

    HTML元素

Ext.dd.DragDrop
( ) : HTMLElement

返回引用到链接的元素

Returns

  • HTMLElement

    HTML元素

得到初始化配置项

Parameters

Ext.dd.DragDrop
( Number val, Number[] tickArray ) : Numberprivate

正常情况拖动元素移动的像素,我们可以指定它一次移动的像素值。 设置这个方法,解决定位问题

Parameters

  • val : Number

    我们要放置的对象

  • tickArray : Number[]

    有效点排序的阵列

Returns

Ext.dd.DragDrop
( Event e, Ext.dd.DragDrop oDD )private

这个对象被点击时调用

Parameters

Ext.dd.DragDrop
( )private

链接元素是可用时执行

( Object config )private

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

Parameters

Ext.dd.DragDrop
( String id, String sGroup, Object config )

设置DragDrop对象。 必须在任何Ext.dd.DragDrop子类的构造函数中调用

Parameters

  • id : String

    链接元素的id。

  • sGroup : String

    相关项目组

  • config : Object

    配置属性

( 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 混入原型 键-值对

Ext.dd.DragDrop
( String id, String sGroup, Object config )

初始化定位功能,仅是在对象不得到mousedown时的处理程序。

Parameters

  • id : String

    the 链接元素的id

  • sGroup : String

    相关项目组

  • config : Object

    配置属性

Ext.dd.DragDrop
( ) : Boolean
如果这个实例被锁定,或拖放经理已被锁定,返回true (这意味着,在页面上禁用所有的拖/放) ...

如果这个实例被锁定,或拖放经理已被锁定,返回true (这意味着,在页面上禁用所有的拖/放)

Returns

  • Boolean

    true 设置锁定这个对象的所有 拖/放 false

Ext.dd.DragDrop
( HTMLElement node ) : Boolean

检查标签排除清单来看看这个点击应该被忽略

Parameters

  • node : HTMLElement

    排除的HTML元素

Returns

  • Boolean

    true 如果这是有效的标签类型,否则为false

Ext.dd.DragDrop
( )

锁定这个实例

( Object name, Object mixinClass )private

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

Parameters

Ext.dd.DragDrop
( )

在需要的初始位置被确定后,重写的onAvailable方法。

( Object names, Object callback, Object scope )private

更新配置项

Parameters

Ext.dd.DragDrop
( Event e )
拖动某一项时,调用在onMouseMove事件的抽象方法 object. ...

拖动某一项时,调用在onMouseMove事件的抽象方法 object.

Parameters

  • e : Event

    mousemove事件

Ext.dd.DragDrop
( Event e, String/Ext.dd.DragDrop[] id )

在此项上放下另一个DragDrop对象,调用的抽象方法

Parameters

  • e : Event

    the mouseup event

  • id : String/Ext.dd.DragDrop[]

    在POINT模式下,放下元素的id。 在INTERSECT模式下, 阵列或更多的拖放项鼠标不在上面。

Ext.dd.DragDrop
( Event e, String/Ext.dd.DragDrop[] id )

当这个元素的指标开始悬停在另一个的DragDrop对象调用这个抽象方法

Parameters

  • e : Event

    mousemove事件

  • id : String/Ext.dd.DragDrop[]

    在POINT模式下, 这个悬停元素的id。 在INTERSECT模式下, 阵列或更多的拖放项悬停。

Ext.dd.DragDrop
( Event e, String/Ext.dd.DragDrop[] id )

当我们不再悬停在元素上的抽象方法调用

Parameters

  • e : Event

    mousemove事件

  • id : String/Ext.dd.DragDrop[]

    In 在POINT模式下, 这个悬停元素的id。 在INTERSECT模式下, 阵列或更多的拖放项鼠标不在上面

Ext.dd.DragDrop
( Event e, String/Ext.dd.DragDrop[] id )

当这个元素悬停在DragDrop对象时,调用的抽象方法

Parameters

  • e : Event

    mousemove事件

  • id : String/Ext.dd.DragDrop[]

    在POINT模式下, 这个悬停元素的id。 在INTERSECT模式下, 阵列或更多的拖放项悬停。

( Object fn, Object scope )private

扩展事件

Parameters

Ext.dd.DragDrop
( Event e )

当这个区域没有放下的目标被丢弃时,调用的抽象方法

Parameters

  • e : Event

    mouseup 事件

Ext.dd.DragDrop
( Event e )

拖动/放下的对象得到mousedown事件时调用

Parameters

  • e : Event

    mousedown事件

Ext.dd.DragDrop
( Event e )

拖动/放下的对象得到mouseup事件时调用

Parameters

  • e : Event

    the mouseup event

Ext.dd.DragDrop
( String sGroup )

从所提供的交互组中删除此实例

Parameters

  • sGroup : String

    要删除的实例

Ext.dd.DragDrop
( String cssClass )

取消设置无效的CSS类

Parameters

  • cssClass : String

    元素的CSS类 re-enable

Ext.dd.DragDrop
( String id )

取消设置无效的处理id

Parameters

  • id : String

    重新启用的元素的id

Ext.dd.DragDrop
( String tagName )

取消设置排除标签名称,设置附加无效的处理类型

Parameters

Ext.dd.DragDrop
( Boolean maintainOffset )

如果你需要重新定位dd元素,必须调用该方法。

Parameters

( Object config, Object applyIfNotSet )private

设置配置项

Parameters

Ext.dd.DragDrop
( String id )

允许你指定链接元素以外的元素拖动光标移动

Parameters

  • id : String

    用于启动拖动元素的id

Ext.dd.DragDrop
( String id )

允许你指定子链接的元素应该用来启动拖动操作。 这样的例子是,如果你有一个有内容div包含文本和链接。 在内容区域的任何地方点击,通常会启动拖动操作。 用法 指定元素的内容div里面的元素开始拖动操作。

Parameters

  • id : String

    将用于启动拖动的元素的id。

Ext.dd.DragDrop
( Number diffX, Number diffY )

存储链接元素的初始放置。

Parameters

  • diffX : Number

    X偏移,默认为0

  • diffY : Number

    Y偏移,默认为0

Ext.dd.DragDrop
( String id )

允许您设置链接元素以外的元素作为拖动处理

Parameters

  • id : String

    将用于启动拖动元素的id

Ext.dd.DragDrop
( Number iTop, Number iRight, Number iBot, Number iLeft )

配置在交互的目标区域填充。 有效地扩展(或减少)针对计算的虚拟对象的大小。 支持CSS样式的简写,如果只有参数被传递,所有方向将有填充, 并且只有两个通过, 顶部和底部排在第一, 左边和右边排在第二。

Parameters

Ext.dd.DragDrop
( Object pos )private

设置元素的开始位置。 这是obj初始化时的设置, 当拖动时开始重置。

Parameters

  • pos : Object

    当前位置(从以往中查找)

Ext.dd.DragDrop
( Number iLeft, Number iRight, Number iTickSize )

默认情况下,该元素可以拖动屏幕上的任何地方。使用此方法来限制元素的水平行程。 如果你想锁定y轴的拖动,传递的参数于0,0。

Parameters

  • iLeft : Number

    元素可以向左移动的像素数

  • iRight : Number

    元素可以向右移动的像素数 right

  • iTickSize : Number

    (可选)参数指定该元素一次移动iTickSize的像素数。

Ext.dd.DragDrop
( Object iStartX, Object iTickSize )private

如果设置 setXConstraint()指定时间间隔创建的阵列的水平记号。

Parameters

Ext.dd.DragDrop
( Number iUp, Number iDown, Number iTickSize )

默认情况下,该元素可以拖动屏幕上的任何地方。设置此限制元素的垂直移动。 如果要锁定x轴的拖动,传递的参数于0,0。

Parameters

  • iUp : Number

    元素可以向上移动的像素数

  • iDown : Number

    元素可以向下移动的像素数

  • iTickSize : Number

    (可选)参数指定该元素一次移动iTickSize的像素数。

Ext.dd.DragDrop
( Object iStartY, Object iTickSize )private

如果设置setYConstraint()指定时间间隔创建的阵列的垂直记号。

Parameters

Ext.dd.DragDrop
( Number X, Number Y )

抽象方法调用 拖动/放下 对象被点击和拖动或MouseDown时间临界值已达到。

Parameters

获取从该对象被实例化的类的引用。 请注意不同于 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

Ext.dd.DragDrop
( ) : String

toString method

Returns

  • String

    用字符串表示 dd obj

配置扩展

Ext.dd.DragDrop
( )

解锁定这个实例

Ext.dd.DragDrop
( )

删除所有与拖放挂钩的元素

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.define('My.cool.Class', {
    constructor: function() {
        alert(this.self.getName()); // alerts 'My.cool.Class'
    }
});

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

Returns

( 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