如何将侦听器添加到现有侦听器对象?

时间:2011-05-08 12:29:41

标签: extjs extjs4

这不起作用:

Models.buttons.Del = Ext.extend(Ext.Button, {
    ,text: 'Del'
    ,listeners: {
        load: function() {
        },
        ,click: function() {
        }
    }
});
Models.buttons.Add = Ext.extend(Models.buttons.Del, {
    ,text: 'Add'
    ,listeners: {
        ,click: function() {
        }
    }
});

在Add对象中丢失load()事件。

1 个答案:

答案 0 :(得分:2)

你可以使用超类来不丢失这些方法。 通过这样做,您还可以扩展方法。

Models.buttons.Del = Ext.extend(Ext.Button, {
    ,text: 'Del'
    ,listeners: {
        load: function() {
        },
        ,click: function() {
        }
    }
});
Models.buttons.Add = Ext.extend(Models.buttons.Del, {
    ,text: 'Add'
    ,listeners: {
        load: function() {
            Models.buttons.Add.superclass.load.call(this);
        },
        ,click: function() {
        }
    }
});