Затухающая форма при фокусировке
Как я могу сделать форму исчезнуть, когда фокус полностью потерян? Или другой способ выразить это: как я могу предотвратить исчезновение формы, когда фокус просто перемещается с одного входа на другой?
Мой неудачный подход:
form.focusout(function(){
form.fadeout();
});
Я связал добавление оператора if, подсчитывающего количество входов с фокусом, но безрезультатно, так как lostfocus срабатывает до того, как будет установлен новый фокус.
1 ответ
Решение
Попробуйте установить тайм-аут, а затем, если другой вход имеет фокус, очистите тайм-аут, чтобы избежать затухания:
var timeout;
form.find('input').on('focusout', function(){
timeout = setTimeout(function() {form.fadeout();}, 2000);
});
form.find('input').on('focusin', function(){
clearTimeout(timeout);
});