所有浏览器上的闪存键盘焦点

时间:2012-03-21 18:54:40

标签: javascript swfobject

如何在其他浏览器(不是IE)上为swf设置键盘焦点的代码。

我知道IE只是

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

其他浏览器会怎样?

1 个答案:

答案 0 :(得分:2)

本机支持焦点的唯一HTML元素是链接(<a>)和表单元素,例如<input>。要通过javascript使HTML元素可聚焦,您需要设置元素tabIndex

(Jonathan Snook几年前写了nice simple overviewMozilla provides a good overview of the topic,W3C讨论了keyboard focus in relation to 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 support thread中深入讨论键盘焦点。