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

时间:2008-09-11 14:55:03

标签: javascript canvas focus

我在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()事件永远不会触发)。

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

谢谢。

1 个答案:

答案 0 :(得分:24)

为画布指定标签索引:

   <canvas id="display"
           width="500px"
           height="500px"
           tabindex="1">
   </canvas>