javascript - 如何检查元素是否使用 javascript 聚焦子元素?

标签 javascript jquery html focus

我正在尝试从我的代码中删除所有 jQuery。直到现在我用

if ($(selector).find(':focus').length === 0) {
    // focus is outside of my element
} else {
    // focus is inside my element
}

区分焦点是否在我的元素之一内。你能告诉我一个不用 jQuery 的方法吗?

最佳答案

您可以使用 Node.contains为此的原生 DOM 方法。

el.contains(document.activeElement);

将检查 activeElement 是否是 el 的后代。 如果要检查多个元素,可以使用 some 函数进行迭代。

关于javascript - 如何检查元素是否使用 javascript 聚焦子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53370088/

相关文章:

javascript - 在 Backbone 中将模型异步绑定(bind)到 View

html - IE 8 HTML 打印页面问题

html - 使用 css 将具有百分比宽度和高度的 div 元素居中

javascript - 重叠悬停装饰

Javascript对象继承如何获取Child实例名称

javascript - 如何从另一个文件调用数组的属性

javascript - 检查事件目标是否有特定的祖先

jquery - 使用 jQuery slideToggle 扩展 Div

javascript - 带有以随机顺序开始的选项的 jQuery 自动收报机

html - 我的网站与特定浏览器兼容吗?