Не могу убрать фокус с input
Здравствуйте!
Вопрос я даже точно не знаю, как сформулировать, по этому попробую как-нибудь, а потом покажу, чтобы в живую увидели. Внутри div есть input, по верх которого div такого же размера, для блокировки input'а. При двойном клике на это блокирующем блоке, он скрывается .hide() и в input под ним ставится фокус .focus(), на этом инпате висят события focusout и chenge (точнее не на них самих а на родителе на 2 уровня выше, через делегирование). В документации сказано, что chenge срабатывает если были изменения ПРИ ПОТЕРЕ ФОКУСА, но помимо этого у меня оно почему-то срабатывает, когда были изменения и нажат Enter. Меня это даже обрадовало так как удобно, но после такого срабатывания chenge с инпата не пропадает фокус, то есть вы отредактировали, нажали ентер, данные в БД обновились, блокирующий див сверху инпата появился, но фокус все еще в инпате, видно коретку ввода и можно дальше править не убирая блокирующий див, что нехорошо. Как это получилось и как с этим бороться я не понимаю. Думал фокусироваться на элементе, которого в данный момент не видно на странице, чтоб с этого интпата убрать фокус, но не получается. --- Посмотреть можно на сайте http://evacrm.ru/login.html войдите используя емеил/пароди demo (без 123). Вверху настройки (символ три полоски), там товары, и двойной клик в описание семейства, изменить, нажать ентер. Код скрипта и остального в консоли можно посмотреть (файл biz.js). Очень надеюсь, что хоть кто-то понял о чем я спрашиваю :) Помогите, чем сможете) |
lucky89,
Довольно своеобразный код у вас. Для принудительной потери фокуса используйте метод blur() jquery на инпуте. |
Спасибо, работает! Не понимаю, как я сам этого не нашел...
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 09:20. |