MyNewClass = function(arg1, arg2, etc) { // 显式调用父类的构造函数 MyNewClass.superclass.constructor.call(this, arg1, arg2, etc); }; Ext.extend(MyNewClass, SomeBaseClass, { theDocument: Ext.get(document), myNewFn1: function() { // etc. }, myNewFn2: function() { // etc. } });下面的一个例子是Ext的实际案例,用于可缩放,拖动元素,X、Y的坐标值指定了对象可在垂直、水平方向拖动的距离。
// 创建新类的构造函数 Ext.ResizableConstrained = function(el, config){ Ext.ResizableConstrained.superclass.constructor.call(this, el, config); }; // 扩展基类 Ext.extend(Ext.ResizableConstrained, Ext.Resizable, { setXConstraint : function(left, right){ // 得到父类的属性dd和setXConstraint的引用 this.dd.setXConstraint(left, right); }, setYConstraint : function(up, down){ // 得到父类的属性dd和setYConstraint的引用 this.dd.setYConstraint(up, down); } }); // 创建新类的实例 var myResizable = new Ext.ResizableConstrained('resize-el', { width: 200, height: 75, minWidth:100, minHeight:50, maxHeight:150, draggable:true }); //调用新方法 myResizable.setYConstraint(0,300); myResizable.setXConstraint(0,300); |