如何在其他浏览器(而不是IE)上为swf设置键盘焦点的代码。所有浏览器上的闪存键盘焦点
我知道,IE浏览器只是
document.getElementById('movieID').focus();
如何将其他浏览器?
如何在其他浏览器(而不是IE)上为swf设置键盘焦点的代码。所有浏览器上的闪存键盘焦点
我知道,IE浏览器只是
document.getElementById('movieID').focus();
如何将其他浏览器?
本机支持焦点的唯一HTML元素是链接(<a>
)和表单元素,例如<input>
。要通过javascript制作HTML元素,您需要设置元素的tabIndex
。
(乔纳森·斯努克写了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中深入讨论键盘焦点。
将代码放在脚本标签内?并使用'myflashelement'作为嵌入ID和myfile.swf作为src? – 2012-03-22 12:04:16
'expressInstall.swf'是什么? – 2012-03-22 12:04:32
我是否需要设置params.wmode ='opaque'? – 2012-03-22 12:04:50
您的代码没问题,请在发布此类问题之前,对代码进行进一步调查并在论坛上进行更彻底的搜索。无论如何检查[这个线程](http://stackoverflow.com/questions/4183325/focus-an-element-created-on-the-fly),一个可能的副本。 – 2012-03-21 19:21:25
我认为只适用于IE。 不适用于Chrome。 – 2012-03-22 00:53:25
该线程可能会使焦点闪烁,但不会使键盘焦点闪烁。 – 2012-03-22 01:04:02