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.\n\nTry 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!\n\nTry pressing it again..');
}
}
});
new Ext.panel.Panel({
width: 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'); }
}
}
});

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

官方说法可以点击此处

04-18 10:33