如何在其他瀏覽器(而不是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