他のブラウザ(IEではなく)でswfのキーボードフォーカスを設定するコードはどのようになりますか?すべてのブラウザでのフラッシュのキーボードフォーカス
私はIEのために他のブラウザのためになる方法だけで
document.getElementById('movieID').focus();
であることを知っていますか?
他のブラウザ(IEではなく)でswfのキーボードフォーカスを設定するコードはどのようになりますか?すべてのブラウザでのフラッシュのキーボードフォーカス
私はIEのために他のブラウザのためになる方法だけで
document.getElementById('movieID').focus();
であることを知っていますか?
ネイティブにフォーカスをサポートするHTML要素は、リンク(<a>
)とフォーム要素(<input>
など)のみです。 HTML要素をjavascriptでフォーカス可能にするには、要素のtabIndex
を設定する必要があります。
(ジョナサン・スヌークは数年前にMozilla provides a good overview of the topicをnice simple overviewを書いた、と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として使用しますか? –
「expressInstall.swf」とは何ですか? –
params.wmode = 'opaque'を設定する必要はありますか? –
あなたのコードは問題ありません。このような質問を投稿する前に、あなたのコードをさらに調査し、フォーラムでさらに詳しく調べてください。とにかく[このスレッド](http://stackoverflow.com/questions/4183325/focus-an-element-created-on-the-fly)をチェックしてください。 –
私はIEのためだけに働くと思います。 Chromeで動作しません。 –
そのスレッドは、フラッシュにフォーカスを与えるかもしれませんが、フラッシュにキーボードフォーカスを与えません。 –