Вопрос по созданию динамического списка
Вложений: 1
Создаю форму регистрации с вводом имени. После ввода хотя бы 2х букв открываться div чуть ниже поля ввода со списком имен на введенные буквы. По клику на имени оно копируется в форму и див скрывается. Проблема в том, что при переходе в другое поле ввода диф должен так же скрываться. Но получается если скрытие div`а вешать на потерю форуса поля ввода, то при нажатии на одно из имен фокус теряется до того как диф получает событие.
Я вижу выход только в отслеживании положения курсора мыши в момент потери фокуса полем ввода, и если мышь над списком имён, то сначала обрабатывать нажатие, а потом уже скрывать этот список. Но тут могу быть проблемы при переходах между полями с помощью Tab, да и вообще какое-то "кривое" решение, как мне кажется. Возможно есть более простой и эффективный метод? |
отслеживай событие mousedown у списка обрабатывай в нем перенос текста в input, и отмени в нем на время событие onblur у поля над которым делаешь манипуляции и после отдай фокус обратно полю ввода и верни событие onblur ну а в конце запрещай дальнейшее всплытие событий.
|
Так в том то и проблема, что события в списке не происходят, потому как onblur у поля ввода наступает быстрее, чем onclick у списка. В итоге при нажатии кнопки список исчезает до клика на списке. Если убирать скрытие списка по потери фокуса, то при переходе между полями Tab`ом список вообще не исчезает.
|
говорю же про mousedown а не про click это разные вещи
|
Всё заработало, большое спасибо. Надо то было всего-лишь заменить onclick на onmousedown. :)
Единственный вопрос, чтоб больше на наступать на эти грабли, как всё-таки определить последовательность наступления событий, "на глаз" и методом экспериментов? Или где-нибудь можно про это почитать? |
Цитата:
|
Ну чтож, буду впредь умнее :) большое спасибо.
|
Часовой пояс GMT +3, время: 23:54. |