Привязать для получения события изменения и проверить, следует ли принудительно вводить фокус на этот вход, если вставить некоторые данные в документ. $ (Документ) .data («_ force_focus», e.target)
$('input.force').bind('change', function(e) {
if(need_force_focus()) {
$(document).data('_force_focus', e.target);
} else {
$(document).removeData('_force_focus');
}
});
Теперь на документе связываются с событием focusin, тестирование, если документ имеет данные «_force_focus». Если это так, установите фокус на значение. Это важно, чтобы предотвратить повторное включение фокуса при тестировании на e.target
$(document).bind('focusin', function (e) {
var t = $.data(document, '_force_focus');
if(t && e.target !== t) {
$(t).trigger('focus');
return false;
}
return true;
});
Обработчики событий jQuery не принимают параметр '$'. (Они принимают объект события) – SLaks
Рассматривали ли вы смысл использования текстового поля «всегда сфокусированного»? Я не знаю о вас, но текстовые поля, захватывающие фокус, - это мое личное домашнее животное, ненавидимое в интернете (особенно, когда вы частично можете заполнить форму и прыжки с фокуса в середине печати) –
Да, у меня есть. На всей странице есть только одно поле, и это единственный фокус пользователя. – twodayslate