Как выбрать элемент, который имеет фокус на нем с помощью jQuery
Как вы можете выбрать элемент, который имеет текущий фокус?
нет :focus
фильтр в jQuery, поэтому мы можем использовать что-то вроде этого:
$('input:focus').someFunction();
8 ответов:
действительно лучший способ сделать это-настроить обработчик для события onFocus, а затем установить переменную в идентификатор элемента, который имеет фокус.
что-то вроде этого:
var id; $(":input").focus(function () { id = this.id; });
$(document.activeElement)
возвращает текущий элемент и быстрее, чем с помощью псевдо-селектора :фокус.источник: http://api.jquery.com/focus-selector/
alert($("*:focus").attr("id"));
Я использую jQuery.
Он будет предупреждать идентификатор элемента фокусировки.
Я надеюсь, что это полезно для вас.
ты пробовал
$.extend($.expr[':'], { focused: function(elem) { return elem.hasFocus; } }); alert($('input :focused').length);
Если вы используете JQuery, вы можете написать селектор такой:
$.expr[':'].focus = function(a){ return (a == document.activeElement); }
затем вы можете выбрать текущий сфокусированный элемент:
$(":focus")
не только элементы управления формы могут иметь фокус. Любой html-элемент с tabindex может быть ориентирован в современных браузерах.