코드는 다음과 같습니다.
///
Ext.onReady(function () {
var viewport = Ext.create('Ext.container.Viewport', {
layout: {
type: 'vbox',
align: 'stretch'
},
padding : 10,
항목: [{
바: [{
텍스트: '추가(F2)'
}],
프레임: true, ~ . autoEl : {
태그: 'div',
tabindex: 0
}
}, {
XType: 'Panel',
ID: 'Panelb',
Title: '단축키 테스트 B',
tbar: [{
text: '추가(F2)'
}],
프레임: true,
flex: 1,
html: '안녕하세요, 테이블 또는 양식입니다. 여기에 표시됩니다.',
}]
});
Ext.create('Ext.util.KeyMap', {
대상: 'panelA',
키: Ext .EventObject.F2,
fn: function (key, ev) {
Alert('Add A') 🎜> Ext. Create ('EXT.UTIL.KEYMAP', {
Target: 'Panelb ',
Key: Ext.eventobject.f2,
Fn: Function(key, EV) {
Alert('Add to B');
ev.stopEvent();
false 반환;
}
});
});
실제 결과
브라우저를 연 후 바로 F2를 누르면 아무런 효과가 없습니다. 브라우저를 열고 마우스로 A 또는 B를 클릭한 다음 F2를 누르면 효과가 나타납니다.
세 번째 구현
브라우저를 연 후 div를 클릭하지 않고도 단축키를 인식하는 문제를 해결하려면 foucs() 메서드를 수동으로 호출해야 합니다.
코드 예시
///
Ext.onReady(function () {
var viewport = Ext.create('Ext.container.Viewport', {
layout: {
type: 'vbox',
align: 'stretch'
},
padding : 10,
항목: [{
바: [{
텍스트: '추가(F2)'
}],
프레임: true, ~ . autoEl : {
태그: 'div',
tabindex: 0
}
}, {
XType: 'Panel',
ID: 'Panelb',
Title: '단축키 테스트 B',
tbar: [{
text: '추가(F2)'
}],
프레임: true,
flex: 1,
html: '안녕하세요, 테이블 또는 양식입니다. 여기에 표시됩니다.',
}]
});
Ext.create('Ext.util.KeyMap', {
대상: 'panelA',
키: Ext .EventObject.F2,
fn: function (key, ev) {
Alert('Add A') 🎜> Ext. Create ('EXT.UTIL.KEYMAP', {
Target: 'Panelb ',
Key: Ext.eventobject.f2,
Fn: Function(key, EV) {
Alert('Add to B');
ev.stopEvent();
false 반환;
}
});
Ext.get('panelB').focus();
});
실제 결과
브라우저를 열고 F2를 직접 누르면 효과가 나타납니다. 브라우저를 열고 마우스로 A 또는 B를 클릭한 다음 F2를 누르면 작동합니다.