Обнаружение функции автофокуса HTML5 с помощью jQuery

Я выполняю действие с jQuery каждый раз, когда текстовое поле фокусируется на моем веб-сайте. Все работает нормально, пока я вручную фокусируюсь на текстовом поле, щелкая по нему.

Однако: я использую функцию автофокуса HTML5, и jQuery не обнаруживает, что текстовое поле было автоматически сфокусировано. Как я могу убедиться, что мой сценарий выполняет действие независимо от того, было ли текстовое поле сфокусировано вручную или автоматически?

Сейчас я использую...

$("input:text, input:password").focus(function() { });

... чтобы определить, когда текстовое поле выделено.


person wstr    schedule 13.07.2011    source источник


Ответы (1)


Если вам нужно беспокоиться только об автофокусе при начальной загрузке страницы, то, может быть, что-то вроде этого?

Инициировать событие focus для элементов с автофокусом при загрузке страницы:

<script>
$(document).ready( function () {
  $("input:text, input:password").focus(function () { });//attach the focus event

  $('input[autofocus]').trigger('focus');//force fire it on the autofocus element
});
</script>
person Jake    schedule 13.07.2011
comment
Просто, элегантно и полностью решило проблему. Спасибо, Джейк! - person wstr; 13.07.2011