У меня есть два поля ввода в div, я хочу скрыть этот div на focusOut входов, но только если оба они не имеют фокуса.
Это распространенная проблема Firefox(некоторые называют это соблюдением стандарта), но тело документа крадет фокус между.
HTML
<div id="baz">
<input type="text" id="foo" name="foo" />
<input type="text" id="bar" name="bar" />
</div>
jQuery
// jQuery Example
jQuery(":input").focusout(function(){
// Don't do anything if one of the input boxes has focus
if( jQuery(":input").is( jQuery(document.activeElement) ){ return; }
// Hide the container if one of the inputs loose focus
jQuery(this).parents("div").css("display","none");
}
Хотя это распространенная ошибка , я забыл, как я ее решал в прошлом.Я думаю, что это было связано с установкой тайм-аута или обновлением экрана перед проверкой activeElement
.