У меня проблема с редактором ячейки сетки. У меня есть валидация для ячеек, и мне нужно предотвратить их фокус в случае ошибки проверки. Вот как я это делаю:Редактор ячейки ExtJS Grid, предотвращающий фокус, проблема с ошибкой
blur: function (field, event) {
if (field.value > field.maxValue || field.value < field.minValue) {
field.focus();
return false;
}
},
specialkey: function (field, event) {
if (event.getKey() == 9) {
if (field.value > field.maxValue || field.value < field.minValue) {
field.focus();
return false;
}
}
}
Эта часть работает нормально за исключением случаев, когда вы пытаетесь нажать в любом месте вне сетки, или попытаться выбрать следующую ячейку с помощью Tab. Проблема в том, что если вы нажмете еще одну ячейку, я все равно потеряю фокус. Вот что показало отладка:
cell_1 - blur, cell_1 - focus, cell_2 - blur, cell_2 - focus
Есть ли у кого-нибудь подобная проблема?
Также немного сбивает с толку, что если вы поместите точку останова в «размытие» слушателя, это сработает! Отладка покажет: cell_1 - размытие и другие события.