Como você define o foco para o elemento canvas HTML5?
-
09-06-2019 - |
Pergunta
Estou usando o HTML5 <canvas>
elemento no Firefox 2.0.0.16 e no Safari 3.1.2, ambos no meu iMac.(Eu tentei isso no Firefox 3.0 no Windows também, mas sem sucesso.) A tag fica assim:
<td>
<canvas id="display"
width="500px"
height="500px">
</canvas>
</td>
Tenho um botão para "ativar" algumas funcionalidades que interagem com o canvas.Esse botão é onclick()
evento chama uma função.Nessa função eu tenho a seguinte linha:
document.getElementById("display").focus();
Isso não funciona.Firebug não relata nenhum erro.Mas o foco ainda permanece onde estava.Posso clicar na tela ou na guia em direção à tela e o foco será perdido dos outros elementos, mas aparentemente nunca será obtido pela tela (O canvas's onfocus()
evento nunca dispara).
Acho isso estranho.Será que a tela simplesmente não consegue focar ou estou faltando alguma coisa aqui?Qualquer visão seria apreciada.
Obrigado.
Solução
Dê à tela um índice de tabulação:
<canvas id="display"
width="500px"
height="500px"
tabindex="1">
</canvas>