Можно ли определить событие на входе, которое срабатывает при этих обстоятельствах.
a) is called on blur of input IF the remaining conditions are true
b) if the autocomplete list is visible halt the event until it is closed
c) if the autocomplete list closes without an item being selected then the event is fired
d) if the autocomplete list closes with an item being selected the event is not fired
e) if the reason the blur was caused was because an item in the autocomplete was clicked the event is not fired
Как вы видите, событие имеет немало общего.
Я не могу использовать обычный setTimeout в событии размытия, потому что пользователь может сидеть в списке автозаполнения, фактически ничего не выбирая.
Возможно, я мог бы установить переменную при открытии автозаполнения, чтобы мы знали, что она все еще открыта.
если таймер истекает, а автозаполнение все еще открыто, мы можем сбросить таймер.
затем при закрытии мы можем сбросить переменную.
или при выборе элемента мы можем сбросить таймер?
Что ты думаешь?