16

私は<canvas>Firefox 2.0.0.16 と Safari 3.1.2 で HTML5 要素を使用しています。どちらも iMac で使用しています。(Windows の Firefox 3.0 でもこれを試しましたが、これも役に立ちませんでした。) タグは次のようになります。

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

キャンバスと対話するいくつかの機能を「アクティブ化」するためのボタンがあります。そのボタンのonclick()イベントは関数を呼び出します。その関数には、次の行があります。

document.getElementById("display").focus();

これは動作しません。Firebug はエラーを報告しません。しかし、焦点はまだ元の場所にとどまっています。キャンバスまたはキャンバスに向かってタブをクリックすると、他の要素からフォーカスが失われますが、明らかにキャンバスによって取得されることはありません (キャンバスのonfocus()イベントは発生しません)。

これは奇妙だと思います。キャンバスが単にフォーカスを得ることができないということですか、それともここに何かが欠けていますか? 任意の洞察をいただければ幸いです。

ありがとうございました。

4

1 に答える 1

26

キャンバスにタブ インデックスを指定します。

   <canvas id="display"
           width="500px"
           height="500px"
           tabindex="1">
   </canvas>
于 2008-09-11T18:54:35.983 に答える