如何选择具有当前焦点的元素?
:focus
jQuery中没有过滤器,这就是为什么我们可以使用这样的东西:
$('input:focus').someFunction();
Sam Shiles.. 153
$(document.activeElement)
将返回当前聚焦的元素,并且比使用伪选择器更快:焦点.
资料来源:http://api.jquery.com/focus-selector/
$(document.activeElement)
将返回当前聚焦的元素,并且比使用伪选择器更快:焦点.
资料来源:http://api.jquery.com/focus-selector/
alert($("*:focus").attr("id"));
我使用jQuery.
它将警告元素的id正在聚焦.
我希望它对你有用.
实际上,最好的方法是为onFocus事件设置处理程序,然后将变量设置为具有焦点的元素的ID.
这样的事情:
var id; $(":input").focus(function () { id = this.id; });
你有没有尝试过
$.extend($.expr[':'], { focused: function(elem) { return elem.hasFocus; } }); alert($('input :focused').length);
如果你使用JQuery,你可以编写一个这样的选择器:
$.expr[':'].focus = function(a){ return (a == document.activeElement); }
然后,您可以选择当前关注的元素: $(":focus")
不仅表单控件可以有焦点.任何带有tabindex的html元素都可以集中在现代浏览器中.