我试图使按钮触发ExtJS 4上的mousedown和mouseup事件,但是我找不到正确的方法来执行此操作。
我正在尝试在控制器上执行以下操作:
init: function()
{
this.control(
{
'button[itemId="pttButton"]':
{
mousedown: doSomething,
mouseUp: doSomethingElse
}
});
}
但是这些事件似乎不存在。
除了直接访问dom并使用本机Javascript事件以外,执行此操作的最佳方法是什么?
因为按钮没有mousedown
和mouseup
事件,所以最简单的方法是在按钮组件的元素上添加此事件的侦听器。您可以通过组件的getEl()
方法获得代表组件的元素。
var btn = Ext.create('Ext.Button', {
text: 'Click me',
renderTo: Ext.getBody()
});
btn.mon(btn.getEl(), {
mousedown: function() {
console.log('down');
},
mouseup: function() {
console.log('up');
}
});
Button对象没有mousedown或mouseup事件。如果对您来说都一样,则可以使用click事件。