Единственными элементами 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 , если вам нужна дополнительная информация.