Emellanåt får man lite frågor kring varför vissa saker inte fungerar som förväntat i flashsajter jmf med html. Satt idag och kollade lite på genvägar som ctrl+t för att öppna ny tab i Firefox. Har man en flash på sidan som har fokus så skickas inte tangentbordsinmatningarna vidare tilll htmlsidan/fönstret utan stannar i flashen. Lite funderingar och några minuter senare var lösningen klar.
Flash
// Importera external interface
import flash.external.ExternalInterface;
// lägg till lyssnare för keyboard eventen:
stage.addEventListener(KeyboardEvent.KEY_DOWN, OnKeyboard);
// funktion som hanterar tangenttryckningar
// om "ctrl" är nertryckt - kalla på javascript som sätter focus på fönstret
private function OnKeyboard(e:KeyboardEvent):void
{
if (e.ctrlKey)
ExternalInterface.call("htmlFocus");
else
ExternalInterface.call("flashFocus");
}
Javascript
function htmlFocus(){
document.getElementById("focusElementID").focus();
}
function flashFocus(){
document.getElementById("flashMovieID").focus();
}
Html
onsdag 19 november 2008
Focus i Flash
Tags:
funderingar,
jobb
Prenumerera på:
Kommentarer till inlägget (Atom)
1 kommentar:
Jag ska vara helt ärlig och säga ???? ruski ruski
Skicka en kommentar