使用ExtJS 4.x捕获CTRL + S跨浏览器并避免浏览器操作

时间:2013-02-13 13:35:55

标签: extjs javascript-events cross-browser extjs4 extjs4.1

我想停止默认浏览器操作CTRL + S并让我的RIA保存表单数据,同时用户按下此组合键以用于我们的应用程序。

我们正在使用ExtJS 4.1.x

使用jQuery的类似解决方案: Best cross-browser method to capture CTRL+S with JQuery?

1 个答案:

答案 0 :(得分:3)

以下是我通常在ExtJS应用程序中执行的操作(下面的最后一个案例声明),它似乎对我有用:

// attach key navigation to document
Ext.getDoc().on('keypress', function(event, target) {
    if (event.ctrlKey && !event.shiftKey) {
        event.stopEvent();

        switch(event.getKey()) {

            case event.LEFT :
                this.shiftTabs(-1);
                break;

            case event.RIGHT :
                this.shiftTabs(1);
                break;

            case event.DELETE :
                this.closeActiveTab();
                break;

            case event.F4 : // this is actually the "S" key
                this.saveAll(); // handler
                break;

            // other cases...
        }
    }
});