Javascript 获取被聚焦的元素的类型
我正在构建一个包含各种锚和表单元素的页面,这些元素可以被关注,我想知道如果有什么东西被关注,我如何才能获得当前被关注的元素。我认为在jQuery中实现这一点的一种方法是使用Javascript 获取被聚焦的元素的类型,javascript,jquery,Javascript,Jquery,我正在构建一个包含各种锚和表单元素的页面,这些元素可以被关注,我想知道如果有什么东西被关注,我如何才能获得当前被关注的元素。我认为在jQuery中实现这一点的一种方法是使用。即(:focus)。我正在寻找一个jQuery或vanilla js解决方案——只要能工作就行了 以下是我在psuedo代码中尝试执行的操作: if (something is focused){ get the tag name of that which is currently focused and stor
。即(:focus)
。我正在寻找一个jQuery或vanilla js解决方案——只要能工作就行了
以下是我在psuedo代码中尝试执行的操作:
if (something is focused){
get the tag name of that which is currently focused and store that in a variable as a string.
}
else {
alert("nothing is being focused on");
}
此外,如果您能回答此问题,请执行以下操作:
事情不是一直都很集中吗?这意味着当代码或用户没有或没有聚焦特定元素时,文档/主体才被聚焦?假设您想用jQuery实现这一点,您要寻找的是jQuery
.prop()
方法$(someElement).prop('tagName')
将返回someElement
的标记名
举个例子:您可以使用以下内容:
$('*:focus')
您可以设置关注的元素列表,或使用通配符选择器:
$(function () {
var focusedEls = [];
$('*:visible').bind('focus', function (e) {
focusedEls.push(e.target);
console.log( $.unique(focusedEls) );
});
});
有很多方法可以存储聚焦的元素,我只是选择了一个数组。另外,我不确定您是否想跟踪时间每个元素都被关注,但是如果您想跟踪,只需放弃查看完整列表即可 @ultranaut谢谢你指出这一点。这个问题有我想要的答案。