Фокус клавиатуры для флеш во всех браузерах - PullRequest
1 голос
/ 21 марта 2012

Каким будет код для установки фокуса клавиатуры для SWF в других браузерах (не IE).

Я знаю, что для IE это просто

document.getElementById('movieID').focus();

Как было бы для других браузеров?

1 Ответ

2 голосов
/ 22 марта 2012

Единственными элементами HTML, которые изначально поддерживают фокус, являются ссылки (<a>) и элементы формы, например <input>.Чтобы сделать элемент HTML фокусируемым с помощью javascript, вам нужно установить для элемента tabIndex.

(Джонатан Снук написал хороший простой обзор несколько лет назад. Mozilla предлагает хороший обзор темы , а W3C обсуждает фокус клавиатурыотношение к ARIA .)

После того, как Flash SWF встроен, вы можете сфокусировать новый элемент <object> следующим образом:

var flashvars = {};
var params = {};
var attributes = {};
var callbackFn = function(e){
   if(e.success){
      e.ref.tabIndex = "-1";
      e.ref.focus();
   }
};

swfobject.embedSWF("myfile.swf", "myflashelement", "550", "400", "9.0.0", "expressInstall.swf", flashvars, params, attributes, callbackFn);

Подробное описание фокусировки клавиатуры подробно рассматривается Тема поддержки SWFObject , если вам нужна дополнительная информация.

...