Как установить фокус на элемент холста HTML5?

StackOverflow https://stackoverflow.com/questions/56771

  •  09-06-2019
  •  | 
  •  

Вопрос

Я использую HTML5 <canvas> элемент в Firefox 2.0.0.16 и Safari 3.1.2, оба на моем iMac.(Я пробовал это и в Firefox 3.0 для Windows, но тоже безрезультатно.) Тег выглядит следующим образом:

<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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top