У меня есть вход numberfield
, который я хочу потерять, когда пользователь нажимает клавишу ввода.Сделать поле ввода ExtJS потерять фокус
Вот текущий конфиг:
{
xtype: 'numberfield',
minValue: 0,
maxValue: 99999,
hideTrigger: true,
keyNavEnabled: false,
mouseWheelEnabled: false,
enableKeyEvents: true,
listeners: {
specialkey: function(f, e) {
if (e.getKey() == e.ENTER)
f.blur();
}
}
}
Обработчик specialkey
работает, вызывая blur()
, как и ожидалось, но единственным результатом является то, что каретка исчезает из входа (с указанием, что входной DOM элемент текста был размытым) , Поле по-прежнему имеет все классы x-form-focus
и т. Д., И изучение объекта показывает, что свойство private hasFocus
по-прежнему остается в силе.
Любые предложения?
Я попытался позвонить f.onBlur()
прямо после звонка blur()
, но это не имело значения.
(кстати поле не принадлежит к виду, так что нет никакой формы представить.)
насчет фокусировки другого компонента? Даже его родительский контейнер ... – VoidMain
@VoidMain - приветствует, но тот же результат, что и call blur() –
Если вы вызываете 'f.up(). Focus();' он не заставляет 'f' потерять свой сфокусированный класс? – VoidMain