Как установить фокус на элемент холста HTML5? - PullRequest
15 голосов
/ 11 сентября 2008

Я использую элемент 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() холста никогда не срабатывает).

Я нахожу это странным. Это то, что холст просто не может сфокусироваться, или я что-то здесь упускаю? Любое понимание будет оценено.

Спасибо.

1 Ответ

24 голосов
/ 11 сентября 2008

Дайте полотну индекс табуляции:

   <canvas id="display"
           width="500px"
           height="500px"
           tabindex="1">
   </canvas>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...