0
Answered

Не работает blur() в подсказках PARTY и EMAIL

Ярослав Дунаев 3 years ago in Подсказки • updated by Антон 3 years ago 7

Добрый день.

Суть вопроса такова. На onSelect даю инпуту событие blur(). В ADDRESS работает великолепно. В EMAIL и PARTY упорно держит курсор на поле и не переставляет его на другое место. Иных перекрывающих blur/on ('blur') событий/масок и тп на эти инпуты нет. Даже не могу зафокусить другое поле на onSelect (в ADDRESS могу - заполняемые зависимые поля или независимые поля с раскладываемыми значениями - не важно).

Answer

Answer

Добрый день!

Вижу проблему. Как понимаю, речь идет только о фокусе мышью, с клавиатуры работает. Быстрое решение – в onSelect все операции с фокусом сделать через setTimeout(..., 0)

Answer

Добрый день!

Вижу проблему. Как понимаю, речь идет только о фокусе мышью, с клавиатуры работает. Быстрое решение – в onSelect все операции с фокусом сделать через setTimeout(..., 0)

Да, вы совершенно правы. С таймаутом поробую вечером, отпишу о результате. Согласитесь, более логично убирать курсор из инпута после удачного пользовательского селекта по подсказке, а не ставить в конец поля после подставленного выбранного значения. // Ярослав Дунаев

+1

Не совсем так – пользователь может выбрать Подсказку, к примеру, до города. А дальше он должен иметь возможность продолжить ввод Подсказки сразу же (вводя улицу, например).

Протестировал. Работает в варианте направления к другому элементу:

setTimeout(function(){

$("#another_id_input_field").focus().blur();

}, 0);

С этим же полем работать не дает, но это не принципиально в данном случае. Большое спасибо за помощь!

Исправили, теперь в onSelect можно ставить фокус куда угодно.