Sencha touch Sencha Touch:防止多个并发转换

Sencha touch Sencha Touch:防止多个并发转换,sencha-touch,Sencha Touch,QA刚刚提交了一个真正的bug文件,我正在琢磨如何修复它 如果同时按下两个按钮,例如“后退”和“搜索”,则每个按钮都将调用Ext.dispatch,导致两个同时进行的反向转换!完全是这样@#$刷新布局,使应用程序无法使用 这确实是触控应用的一个普遍问题。。。当多个手指悬停在屏幕上时,用户可以很容易地触发奇怪且完全不兼容的动作组合,应用程序一次只需要接受一个。有没有办法在Sencha Touch中优雅地处理这种情况?我通过在发送前收听事件,并在发送过程中取消该事件来修复它 Ext.regAppli

QA刚刚提交了一个真正的bug文件,我正在琢磨如何修复它

如果同时按下两个按钮,例如“后退”和“搜索”,则每个按钮都将调用
Ext.dispatch
,导致两个同时进行的反向转换!完全是这样@#$刷新布局,使应用程序无法使用


这确实是触控应用的一个普遍问题。。。当多个手指悬停在屏幕上时,用户可以很容易地触发奇怪且完全不兼容的动作组合,应用程序一次只需要接受一个。有没有办法在Sencha Touch中优雅地处理这种情况?

我通过在发送前收听
事件,并在发送过程中取消该事件来修复它

Ext.regApplication(...
    this._isDispatching = false,

    launch: function() {
        Ext.Dispatcher.on('before-dispatch', function () {
            var me;
            if (this._isDispatching)
                return false;
            else {
                this._isDispatching = true;
                me = this;
                setTimeout(function () {
                    me._isDispatching = false;
                }, 500);
                return true;
            }
        }, this);
    }
是的,500毫秒的延迟确实令人讨厌,但我想不出一种更可靠的方法来检测过渡何时完成。调度后没有
事件,并且在转换完成之前触发
调度
事件

希望这对别人有帮助