Помним, что:
— событие blur, как и focus, отменить нельзя.
— событие blur наступает всегда раньше, чем focus
Поэтому поступим примерно так:
— вешаем на оба события обработчик
— действия в обработчике на blur перемещаем в конец очереди (event loop stack)
— в обработчике focus отменяем эти действия