Ext.Button に debounce 関数を実装したいので、次のように拡張して onClick 関数をオーバーライドします。
MyButton = Ext.extend(Ext.Button, {
onClick: function(e) {
var that = this;
var args = e;
clearTimeout(this.timeoutDebounce);
this.timeoutDebounce = setTimeout(function(){
MyButton.superclass.onClick.apply(that, [args])
}, this.debounce);
}
});
Debounce は、x-type 宣言で渡されるパラメーターです。
ここでの問題は、onClick に渡す "args" パラメータが "click" から "movemove" に呼び出されたときに変更され、必要なイベントが発生しないことです。
関数で受け取った「e」パラメータを記録して、スーパークラスの onClick に渡す方法はありますか?