如何在其他浏览器(不是 IE)上为 swf 设置键盘焦点的代码。
我知道对于IE来说只是
document.getElementById('movieID').focus();
其他浏览器会怎样?
最佳答案
唯一支持焦点的 HTML 元素是链接 ( <a>
) 和表单元素,例如 <input>
.要通过 javascript 使 HTML 元素可聚焦,您需要设置元素的 tabIndex
。 .
(Jonathan Snook 几年前写了一个 nice simple overview。Mozilla 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/