HTML5 - Холст теряет фокус?

0

Я делаю игру с Impact JS, которая использует холст для рендеринга. В игре у меня есть кнопка, которая показывает скрытый div, содержащий проигрыватель потока, и воспроизводит видео. В этом скрытом div также кнопка, которая закрывает div и останавливает видео... все хорошо до сих пор. Проблема в том, что как только видео закрыто, я должен щелкнуть холст, чтобы вернуть фокус. Итак, кнопку, которая была под видео, теперь нужно дважды щелкнуть, чтобы заставить ее работать... ничего хорошего. Я определил, что это не специфично для flowplayer. Я могу показать скрытый div с черным только в нем и скрыть его через 5 секунд, и полотно все еще теряет фокус. Кто-нибудь видел это? Это шоу-шоу в настоящий момент.. действительно нужно заставить его работать.

  • 0
    Хорошо, я пошел и добавил обработчик кликов к тегу холста и обнаружил, что холст на самом деле не теряет фокус - так как я получаю трассировку «холст вниз», когда нажимаю на холст, даже если кнопка не отвечает. Я использую игровой движок Impact JS для этого, и похоже, что это на самом деле теряет фокус - хотя он все еще работает нормально, так как мои ролловеры продолжают работать. Если кто-нибудь захочет взглянуть на меня поближе, я немного его покажу на промежуточной площадке. design.gmrstage.com/dave/chiltest/default.html# Действительно признателен за любую помощь здесь.
  • 0
    PS - если вы решили посмотреть - нажмите стрелку на главной странице, чтобы попасть в главное меню. Нажмите любую кнопку - видео откроется - нажмите Меню, чтобы закрыть видео. Кнопки теперь будут работать в два клика.
Теги:
canvas
focus

1 ответ

0

Я вижу, что вы уже применили tabindex к вашему холсту.

Хорошо, что необходимо для фокусировки на холсте.

Теперь, чтобы дать фокус холста после окончания видео, сделайте следующее:

// get a reference to the canvas element

var canvas=document.getElementById('canvas');

// set focus to the canvas when the video ends

canvas.focus().
  • 0
    Это не работает Ну ... может, но, как я объяснил позже, холст, кажется, хорошо держит фокус. Я добавил обработчик щелчков в теге canvas, и эта функция вызывается - даже если кнопка в игре не реагирует - до повторного нажатия.
  • 0
    PS - если вы посмотрите снова, вы увидите «холст вниз», прослеженный до консоли после закрытия видео, даже если кнопка не реагирует, пока вы не нажмете второй раз.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню