ExtJS 组件从 afterrender 和 focus 事件中获取不同的位置?
ExtJS component get the different position from afterrender and focus event?
嗨,我试图获取组件位置,但我发现 getXY()
在不同的事件中会显示不同的位置。
喜欢这个样本,fiddle
init: function() {
var me = this;
me.control({
'textfield[itemId=field]': {
change: me.changeField,
focus: me.focusField,
afterrender: me.afterRenderField
}
});
},
focusField: function(field, event) {
console.log(field.getXY());
},
changeField: function(field, newValue, oldValue) {
console.log(field.getXY());
},
afterRenderField: function(field) {
console.log(field.getXY());
}
我认为正确的位置是关注和改变事件。为什么后渲染不同?
我想在组件渲染后做一些事情,所以我需要获得正确的位置。
您可以使用活动 boxready
差异的原因是对象被渲染时它还没有布局。
嗨,我试图获取组件位置,但我发现 getXY()
在不同的事件中会显示不同的位置。
喜欢这个样本,fiddle
init: function() {
var me = this;
me.control({
'textfield[itemId=field]': {
change: me.changeField,
focus: me.focusField,
afterrender: me.afterRenderField
}
});
},
focusField: function(field, event) {
console.log(field.getXY());
},
changeField: function(field, newValue, oldValue) {
console.log(field.getXY());
},
afterRenderField: function(field) {
console.log(field.getXY());
}
我认为正确的位置是关注和改变事件。为什么后渲染不同?
我想在组件渲染后做一些事情,所以我需要获得正确的位置。
您可以使用活动 boxready
差异的原因是对象被渲染时它还没有布局。