如何将焦点设置为HTML5 canvas元素?

Ala*_*lan 15 javascript focus canvas

我在<canvas>iMac上使用Firefox 2.0.0.16和Safari 3.1.2中的HTML5 元素.(我在Windows上的Firefox 3.0中也尝试了这个,也无济于事.)标签看起来像这样:

<td>
   <canvas id="display"
           width="500px"
           height="500px">
   </canvas>
</td>
Run Code Online (Sandbox Code Playgroud)

我有一个按钮来"激活"与画布交互的一些功能.该按钮的onclick()事件调用一个函数.在该函数中,我有以下行:

document.getElementById("display").focus();
Run Code Online (Sandbox Code Playgroud)

这不起作用.Firebug报告没有错误.但重点仍然是它的地方.我可以单击画布或选项卡朝向画布,焦点将从其他元素中丢失,但显然从未被画布获得(画布的onfocus()事件永远不会触发).

我发现这很奇怪.难道画布根本无法获得焦点,或者我在这里遗漏了什么?任何见解将不胜感激.

谢谢.

Sho*_*og9 26

为画布指定一个标签索引:

   <canvas id="display"
           width="500px"
           height="500px"
           tabindex="1">
   </canvas>
Run Code Online (Sandbox Code Playgroud)