Как остановить размытие при вызове сброса текстового поля
Похоже, что при вызове события сброса текстового поля в ExtJS 4.2 событие размытия вызывается автоматически.
У меня есть сценарий, где в форме у меня есть поле со списком и текстовое поле, при выборе поля со списком я вызываю сброс текстового поля.
#cmbStatus : {
select : function(combo, records, eOpts){
combo.up('form').down('textfield[name=referencenumber]').reset();
}
и при размытии текстового поля я вызываю сброс поля со списком.
#txtRefNumber : {
blur : function(cmp, The, eOpts){
cmp.up('form').down('combobox').reset();
}
}
здесь, из-за каскадного эффекта при выборе поля со списком, так как вызывается сброс, автоматически вызывается событие размытия текстового поля и происходит событие сброса со списком
Есть ли способ остановить размытие текстового поля?
Мне известно о методе текстового поля suspendEvent, но он бесполезен, так как он будет приостанавливать событие до вызова resumeEvent.
Спасибо
1 ответ
blur
событие не запускается как прямой результат вызова reset
но в ответ на перемещение фокуса из текстового поля.
Возможно, вам придется пересмотреть и переработать логику, чтобы не происходил цикл обработки событий. Попробуйте использовать другое событие, например change
,
Кроме того, вызов suspendEvents может быть необходим, чтобы избежать цикла событий, в зависимости от логики, которая вам нужна.