首先,不需要使用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/ –