///
Ext.onReady(function () {
var viewport = Ext.create('Ext.container.Viewport', {
layout: {
'stretch'
},
padding: 10 ,
items: [{
xtype: 'panel', tbar: [{
'新增(F2)'
}],
html: '你好,這裡顯示的表格或表單。
tag: 'div',
tabindex: 0
}
}, {
xtype: 'panel',
id: 'panelB',
title: '快捷鍵測試B',
tbar: [{
🎜> frame: true,
好,這裡顯示的表格或表單。 tabindex: 0
}
}]
}]
); Ext.create('Ext.util.KeyMap', {
target: 'panelA',
function (key, ev) {
alert('新增A');
🎜> }
});
Ext.create( 'Ext.util.KeyMap', {
target: 'panelB',
alert('新增B' );
ev.stopEvent();
});
});
實際結果
開啟瀏覽器後直接按F2沒有效果;開啟瀏覽器後用滑鼠點擊A或B後再按F2就有效果了。
第三次實作
要解決開啟瀏覽器之後不用點選div就能辨識快速鍵,需要手動呼叫foucs()方法。
程式碼範例
///
Ext.onReady(function () {
var viewport = Ext.create('Ext.container.Viewport', {
layout: {
'stretch'
},
padding: 10 ,
items: [{
xtype: 'panel', tbar: [{
'新增(F2)'
}],
html: '你好,這裡顯示的表格或表單。
tag: 'div',
tabindex: 0
}
}, {
xtype: 'panel',
id: 'panelB',
title: '快捷鍵測試B',
tbar: [{
🎜> frame: true,
好,這裡顯示的表格或表單。 tabindex: 0
}
}]
}]
); Ext.create('Ext.util.KeyMap', {
target: 'panelA',
function (key, ev) {
alert('新增A');
🎜> }
});
Ext.create( 'Ext.util.KeyMap', {
target: 'panelB',
alert('新增B' );
ev.stopEvent();
});
Ext.get('panelB').focus( );
});
實際結果
打開瀏覽器後直接按F2有效果了;打開瀏覽器後用滑鼠點擊A或B後再按F2就有效果了。