ExtJS 6.x 现代组件焦点
ExtJS 6.x Modern Component Focus
在ExtJS 6.xModern中,你如何制作一个可以聚焦的组件。
我试过同时使用 tabIndex: 0, focusable: true 并阅读了 https://docs.sencha.com/extjs/6.5.2/modern/Ext.mixin.Focusable.html 的所有文档和代码,但无论我尝试什么,我都无法让容器聚焦。
另外如何检测容器失去焦点?有没有办法听一些焦点离开事件?
中添加下面的代码
Ext.application({
name : 'Fiddle',
launch : function() {
Ext.create({
xtype: 'panel',
fullscreen: true,
bodyPadding: true, // don't want content to crunch against the borders
title: 'Focusable Elements',
items: [{
xtype: 'textfield',
label: 'field A',
tabIndex: 2,
listeners: {
blur: function (field) {
console.log('field A loses focus!')
}
}
}, {
xtype: 'textfield',
label: 'field B',
tabIndex: 1,
listeners: {
blur: function (field) {
console.log('field B loses focus!')
}
}
}, {
xtype: 'panel',
title: 'Panel 1',
height: 200,
html: 'Focus on Me!',
tabIndex: 4,
focusable: true,
layout: {
type: 'vbox',
align: 'stretch',
pack: 'start'
},
listeners: {
blur: function (panel) {
console.log('Panel 1 Lost Focus!');
},
focus: function (panel) {
console.log('Panel 1 Got Focus!');
}
}
}, {
xtype: 'panel',
title: 'Panel 2',
height: 200,
html: 'Focus on Me!',
tabIndex: 5,
focusable: true,
layout: {
type: 'vbox',
align: 'stretch',
pack: 'start'
},
listeners: {
blur: function (panel) {
console.log('Panel 2 Lost Focus!');
},
focus: function (panel) {
console.log('Panel 2 Got Focus!');
}
}
},{
xtype: 'textfield',
label: 'field D',
tabIndex: 3,
listeners: {
blur: function (field) {
console.log('field D loses focus!')
}
}
}],
});
}
});
关注字段 B 并开始按选项卡按钮..
在ExtJS 6.xModern中,你如何制作一个可以聚焦的组件。
我试过同时使用 tabIndex: 0, focusable: true 并阅读了 https://docs.sencha.com/extjs/6.5.2/modern/Ext.mixin.Focusable.html 的所有文档和代码,但无论我尝试什么,我都无法让容器聚焦。
另外如何检测容器失去焦点?有没有办法听一些焦点离开事件?
Ext.application({
name : 'Fiddle',
launch : function() {
Ext.create({
xtype: 'panel',
fullscreen: true,
bodyPadding: true, // don't want content to crunch against the borders
title: 'Focusable Elements',
items: [{
xtype: 'textfield',
label: 'field A',
tabIndex: 2,
listeners: {
blur: function (field) {
console.log('field A loses focus!')
}
}
}, {
xtype: 'textfield',
label: 'field B',
tabIndex: 1,
listeners: {
blur: function (field) {
console.log('field B loses focus!')
}
}
}, {
xtype: 'panel',
title: 'Panel 1',
height: 200,
html: 'Focus on Me!',
tabIndex: 4,
focusable: true,
layout: {
type: 'vbox',
align: 'stretch',
pack: 'start'
},
listeners: {
blur: function (panel) {
console.log('Panel 1 Lost Focus!');
},
focus: function (panel) {
console.log('Panel 1 Got Focus!');
}
}
}, {
xtype: 'panel',
title: 'Panel 2',
height: 200,
html: 'Focus on Me!',
tabIndex: 5,
focusable: true,
layout: {
type: 'vbox',
align: 'stretch',
pack: 'start'
},
listeners: {
blur: function (panel) {
console.log('Panel 2 Lost Focus!');
},
focus: function (panel) {
console.log('Panel 2 Got Focus!');
}
}
},{
xtype: 'textfield',
label: 'field D',
tabIndex: 3,
listeners: {
blur: function (field) {
console.log('field D loses focus!')
}
}
}],
});
}
});
关注字段 B 并开始按选项卡按钮..