Ядром этого является создание раскладки клавиш, которая распознает, что вы нажимаете комбинацию клавиш, как только это будет обнаружено, вы можете добавить собственный обработчик.
Смотрите здесь: http://dev.sencha.com/deploy/dev/docs/?class=Ext.KeyMap
например:
var map = new Ext.KeyMap("my-element", [
{
key: [10,13],
fn: function(){ alert("Return was pressed"); }
}, {
key: "abc",
fn: function(){ alert('a, b or c was pressed'); }
}, {
key: "\t",
ctrl:true,
shift:true,
fn: function(){ alert('Control + shift + tab was pressed.'); }
}
]);
Выше приведено несколько примеров сопоставлений, вы просто заменяете «my-element» на элемент, на который вы хотите обратить внимание при нажатии клавиши (чтобы выбранный элемент обнаруживал их). Если вы хотите иметь отображение широких клавиш APPLICATION, этот элемент должен быть либо телом страницы, либо самим окном, либо элементом просмотра ExtJS (если вы его используете) / Master. Это будет означать, что вы можете находиться в любой области вашего приложения, и обнаруживается нажатие клавиши. Последующее поведение, которое вы определяете в свойстве 'fn' (т.е. вкладка изменения и т. Д.) ...