1

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 に渡す方法はありますか?

4

2 に答える 2