ExtJS中listener方法和handler方法的区别

listener方法和handler方法的区别在文档中的说明的太玄乎了,看不懂

listeners监听能够对一个click Event事件添加任意多个的事件响应处理函数

而handler处理只能够通过处理函数一次处理点击响应

Ext.create('Ext.Button', {
    text    : 'Dynamic Handler Button',
    renderTo: Ext.getBody(),
    handler : function() {
        // this button will spit out a different number every time you click it.
        // so firstly we must check if that number is already set:
        if (this.clickCount) {
            // looks like the property is already set, so lets just add 1 to that number and alert the user
            this.clickCount++;
            alert('You have clicked the button "' + this.clickCount + '" times.

Try clicking it again..');
        } else {
            // if the clickCount property is not set, we will set it and alert the user
            this.clickCount = 1;
            alert('You just clicked the button for the first time!

Try pressing it again..');
        }
    }
});
new Ext.panel.Panel({
     400,
    height: 200,
    dockedItems: [{
        xtype: 'toolbar'
    }],
    listeners: {
        click: {
            element: 'el', //bind to the underlying el property on the panel
            fn: function(){ console.log('click el'); }
        },
        dblclick: {
            element: 'body', //bind to the underlying body property on the panel
            fn: function(){ console.log('dblclick body'); }
        }
    }
});

-------------------------------------------------------------------------------------------------------------------------------------------

官方说法可以点击此处

原文地址:https://www.cnblogs.com/gwcyulong/p/7182919.html