문제

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>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top