首先,不需要使用jquery(如果你的代码是用纯JS编写的)。诸如span
,div
之类的元素不能接收按键或关注(通过对其进行标记),因此它们不会是activeElement
。
当没有选择,有源元件是一个网页的<body>
或null
来源document.activeElement
以激活它,你可以使用contentEditable="true"
,只需单击它,看它的工作。见下面摘录
var monitor = setInterval(function() {
var elem = document.activeElement;
if (elem && elem.tagName == 'SPAN') {
alert(elem);
clearInterval(monitor);
}
}, 100);
<span contentEditable="true">Click ON Span HERE</span>
由于每@mongkon mamiw评论的视频标签没有contentEditable attribute
但可以专注于播放视频一样,
var monitor = setInterval(function() {
var elem = document.activeElement;
if (elem && elem.tagName == 'VIDEO') {
alert(elem);
clearInterval(monitor);
}
}, 100);
document.getElementById("vid").addEventListener('play', function() {
this.focus();
});
<video id="vid" controls="" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;">
<source src="https://www.threadsbay.com/kkkk.mp4">
</video>
但为什么不工作时,从span标签更改为视频标签这样的http:// jsf iddle.net/8nvvg4oz/1/ –