如何选择具有当前焦点的元素?如何选择一个与jQuery关注的元素
有jQuery中没有:focus
过滤器,这就是为什么我们可以用这样的:
$('input:focus').someFunction();
如何选择具有当前焦点的元素?如何选择一个与jQuery关注的元素
有jQuery中没有:focus
过滤器,这就是为什么我们可以用这样的:
$('input:focus').someFunction();
真正做到这一点是建立在onfocus事件处理程序的最佳方式,然后设置一个变量为具有焦点的元素的ID。
是这样的:
var id;
$(":input").focus(function() {
id = this.id;
});
你试过
$.extend($.expr[':'], {
focused: function(elem) { return elem.hasFocus; }
});
alert($('input :focused').length);
alert($("*:focus").attr("id"));
我使用jQuery。
它会警告元素的ID正在关注。
我希望它对你有用。
如果您使用JQuery,你可以写一个selector like this:
$.expr[':'].focus = function(a){ return (a == document.activeElement); }
您可以再选择当前焦点元素:$(":focus")
不仅表单控件可以有重点。任何带有tabindex的html元素都可以专注于现代浏览器。
从当前的jQuery版本(1.7)实施例抬升文档:
$(elem).is(":focus");
$(document.activeElement)
将返回当前聚焦元件,并且比使用伪选择器更快:焦点。
为了检查元素具有焦点或没有。
if ($("...").is(":focus")) {
...
}
这是它的CoffeeScript版本。基于jmanrubia代码:
$.expr[':'].focus = (a) -> a is document.activeElement
你也这样称呼它使$(".:focus")
什么是你真正想要做这样我就可以知道是否有更好的方法 – TStamper 2009-02-05 14:48:30
http://stackoverflow.com/questions/967096 /使用-jquery-to-test-if-an-input-has-focus – gnarf 2011-05-04 17:27:33
请注意,您可以使用`$(':focus')`来查找当前文档中当前焦点的元素。 – 2014-10-09 03:09:25