如何使用javascript检查元素是否具有焦点子项? [英] How to check if element has focused child using javascript?

查看:31
本文介绍了如何使用javascript检查元素是否具有焦点子项?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying to remove all jQuery from my code. Until now I used

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

确定焦点是否在我的元素之一内.你能告诉我一种不使用 jQuery 的方法吗?

to destinguish wether the focus is inside of one of my elements. Can you show me a jQuery-free way of doing it?

推荐答案

您可以使用 Node.contains 用于此的本机 DOM 方法.

You can use Node.contains native DOM method for this.

el.contains(document.activeElement);

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

will check if activeElement is a descendant of el. If you have multiple elements to check, you can use a some function to iterate.

这篇关于如何使用javascript检查元素是否具有焦点子项?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆