태그 이름 자바 스크립트를 사용하여 요소에서 사용자 클릭을 감지하는 방법은 무엇입니까?
var monitor = setInterval(function() {
var elem = document.activeElement;
if (elem && elem.tagName == 'SPAN') {
alert(elem);
clearInterval(monitor);
}
}, 100);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span>Click ON Span HERE</span>
내 코드를 테스트했을 때 작동하지 않고 오류 보고서가 없습니다. 어떻게해야합니까?
첫째, jquery를 사용할 필요가 없습니다 (코드가 순수 JS로 작성된 경우). 요소처럼 span
, div
그들은 이제까지을하지 않도록, 키 입력을받을 수 없습니다 또는 (그들에게 탭 이동에 의해)에 초점을 activeElement
.
선택 항목이없는 경우 활성 요소는 페이지 <body>
또는 null
소스 문서입니다.
활성화하려면 사용 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>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다