如何用jQuery查找哪个DOM元素有焦点
HTML DOM有一个activeElement属性。它可以用来获取当前文档中的焦点元素。
语法:
var ele = document.activeElement;
返回值:它返回文档中当前的焦点元素。
示例代码片段:
示例 1: var eleName = document.activeElement.tagName;
返回: 活动元素的标签名称。
示例 2: var eleId = document.activeElement.id;
返回: 活动元素的ID,如果有的话。
演示工作的示例代码:
<!DOCTYPE html>
<html>
<head>
<script src=
"https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
</script>
</head>
<body>
<p> Click wherever you like.
The active/focused DOM name will be displayed at the end</p>
<input type="text" value="Some input field">
<button>Simple Button</button>
<p id="fun"></p>
<script>
$("body").click(function() {
var x = document.activeElement.tagName;
document.getElementById("fun").innerHTML = x;
});
</script>
</body>
</html>
对上述代码的解释:
body标签内的脚本将DOM元素的HTML内容修改为当前处于活动或焦点状态的DOM元素的名称,其id为fun。这是由
document.activeElement.tagName
输出:
- 在点击/聚焦之前。
- 点击/聚焦后。
- 当输入栏被点击/聚焦时