如何在其他浏览器(不是IE)上为swf设置键盘焦点的代码。
我知道IE只是
document.getElementById('movieID').focus();
其他浏览器会怎样?
答案 0 :(得分:2)
本机支持焦点的唯一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中深入讨论键盘焦点。