javascript - 所有浏览器上 flash 的键盘焦点

标签 javascript swfobject

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

我知道对于IE来说只是

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

其他浏览器会怎样?

最佳答案

唯一支持焦点的 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 中深入讨论了键盘焦点如果您想了解更多信息。

关于javascript - 所有浏览器上 flash 的键盘焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9811019/

相关文章:

javascript - 需要修复 Canvas 绘图尺寸

javascript - 在 div 元素中动态调整 Canvas 大小

javascript - 通过jQuery动态改变字体大小

javascript - IE 不允许 Flash 流音频

flash - IE-8 iframe 和 flash 对象忽略 z-index?

javascript - 如何编写 Jquery 条件 - 如果变量值为 <space>

javascript - 将 setInterval 与 requestAnimationFrame 一起使用

javascript - SWF 文件在第二次循环后停止

javascript - Swfobject 正在将 "&"(与符号)更改为 "&amp;"如何停止它?

flash - 您可以在SWFOBJECT中使用哪些音频文件?