如果将重点放在具有特定类名的元素上,我正在try 获得布尔true
.但Document.activeElement似乎只适用于ID或标记名,这无济于事,因为它们是同一类型的元素.情况是这样的:
var test2 = document.getElementsByClassName('test2')
var test3 = document.getElementsByClassName('test3')
test3[1].focus()
isFocused2 = (document.activeElement === test2)
isFocused3 = (document.activeElement === test3)
document.getElementById('test').innerHTML = isFocused3
<input type="text" class="test2">
<input type="text" class="test3">
<input type="text" class="test2">
<input type="text" class="test3">
<div id="test"></div>
@Michael仅当将focus ()
设置为输入时才起作用,如下所示,但单击输入似乎不会激活它,因此使isFocused变量保持为False(我的错误是让您认为我想使用该方法来聚焦,而不是单击)
const prev = document.getElementsByClassName('prev');
const curr = document.getElementsByClassName('curr');
// curr[1].focus()
var isFocused1 = document.activeElement.classList.contains("prev");
var isFocused2 = document.activeElement.classList.contains("curr");
function fx2 () {
document.getElementById('test').innerHTML += isFocused1 + ' ' + isFocused2 + ' '
}
<table>
<tr>
<td><input type="text" name="" class="prev" onclick="fx2()"></td>
<td><input type="text" name="" class="curr" onclick="fx2()"></td>
<td><p class="Mtr-result"></p></td>
</tr>
<tr>
<td><input type="text" name="" class="prev" onclick="fx2()"></td>
<td><input type="text" name="" class="curr" onclick="fx2()"></td>
<td><p class="Mtr-result"></p></td>
</tr>
<div id="test"></div>
如您所见,Focus方法已被注释掉,输入上的onClick事件属性调用fx2()
函数,该函数将‘test’div的innerHTML值更改为isFocused1和isFocused2的值,这两个值都显示为FALSE.