Как остановить размытие при вызове сброса текстового поля

Похоже, что при вызове события сброса текстового поля в 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 может быть необходим, чтобы избежать цикла событий, в зависимости от логики, которая вам нужна.

Другие вопросы по тегам