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

时间:2020-03-05 18:51:32  来源:igfitidea点击:

我在iMac上都在Firefox 2.0.0.16和Safari 3.1.2中使用HTML5<canvas>元素。 (我也曾在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>