HTML5 캔버스 요소에 어떻게 포커스를 설정합니까?
-
09-06-2019 - |
문제
HTML5를 사용하고 있어요 <canvas>
내 iMac의 Firefox 2.0.0.16 및 Safari 3.1.2에 있는 요소입니다.(Windows의 Firefox 3.0에서도 이 작업을 시도했지만 소용이 없었습니다.) 태그는 다음과 같습니다.
<td>
<canvas id="display"
width="500px"
height="500px">
</canvas>
</td>
캔버스와 상호 작용하는 일부 기능을 "활성화"하는 버튼이 있습니다.그 버튼은 onclick()
이벤트는 함수를 호출합니다.해당 함수에는 다음 줄이 있습니다.
document.getElementById("display").focus();
이것은 작동하지 않습니다.Firebug는 오류를 보고하지 않습니다.그러나 초점은 여전히 그 자리에 남아 있습니다.캔버스를 클릭하거나 캔버스 쪽으로 탭을 클릭하면 다른 요소에서 초점이 사라지지만 분명히 캔버스에서는 결코 초점을 얻을 수 없습니다(캔버스의 onfocus()
이벤트가 발생하지 않습니다).
나는 이것이 이상하다고 생각합니다.캔버스가 단순히 초점을 맞출 수 없는 것인가요, 아니면 여기서 뭔가를 놓치고 있는 것인가요?어떤 통찰력이라도 감사하겠습니다.
감사합니다.
해결책
캔버스에 탭 인덱스를 제공합니다.
<canvas id="display"
width="500px"
height="500px"
tabindex="1">
</canvas>
제휴하지 않습니다 StackOverflow