2009-05-12 16 views
1

Ich verwende einen ExternalInterface-Aufruf beim Aktivieren von einer Flex-Anwendung in meinem HTML-Dokument eingebettet. Der Aufruf geht an eine Javascript-Funktion, diethis.focus() funktioniert nicht richtig in Firefox

function documentFocus() { 
    this.focus(); 
} 

Alles tut wirkt wie ein Zauber, mit der Ausnahme, dass Firefox Dokumentenkörper aus 100% nicht konzentrieren. Es hört auf onkeyup Ereignisse zu hören (es registriert immer noch onkeydown).

Sehr seltsames Verhalten. Hat jemand eine Ahnung, was passiert?

Probieren Sie es hier: http // www.willemdemmers.com/dplxr/

Schritte zum Reproduzieren: Try Pfeil-Tasten ein normales Verhalten zu sehen (Pfeil Bilder auf keydown rot leuchten und Licht auf keydown zu stoppen) Klicken Sie auf den Blitz am unteren Rand des Fensters, um den Fokus aus dem Dokumentkörper zu entfernen und den Funktionsaufruf aufzurufen. Probieren Sie die Pfeiltasten erneut und sehen Sie sich das neue Verhalten an.

Die Schlüsselereignisse werden über die Pfeiltasten (links und rechts) ausgelöst.

Danke!

Antwort

0

Ich denke, das Problem ist, dass Flash ist gierig auf der Tastatur, wenn es angeklickt wird und ergreift es weg von Ihnen.

Sie können dies in Aktion auf ie youtube sehen. Wenn Sie ein Video auswählen, können Sie mit den Aufwärts- und Abwärtspfeilen auf der Seite nach oben und unten blättern. Aber wenn Sie in den Flash-Bereich (das Video) klicken, können Sie dies nicht mehr tun. Da nimmt Blitz die Tastatur.

+0

Das versuche ich mit dem Funktionsaufruf zu verhindern. Es funktioniert gut in Safari, aber in Firefox funktioniert es nur halb assedly – Willem

+0

Versuchen Sie diese Frage SO. http://stackoverflow.com/questions/789771/flash-flex-sdk-as3-how-to-keep-keyboard-focus –

0

Check this out: http://code.google.com/p/custom-context-menu/

Es ist ein Projekt, das mit Javascript Blitz der rechten Maustaste deaktiviert, und sagt Blitz, wenn es so tut. Darüber hinaus funktioniert es auf sehr vielen Browsern.

keine 100% ige Lösung, aber Sie sollten ihren JS Code in der Lage sein, für Ihre Bedürfnisse anpassen

+0

Ich habe keine Probleme mit der rechten Maustaste. Das Problem ist, dass in Firefox this.focus() oder document.body.focus() nicht wie vorgesehen funktioniert. – Willem

1

Dies ist eigentlich ein lange Stehen Firefox Bug, ich wünschte, befestigt werden würde. Ich kann mich nicht an die Mozilla-Bugnummer erinnern.

0

Sie können versuchen, das Eingabeelement hidden (oder absolut positioniert) zu fokussieren und dann das Dokument zu fokussieren. Da Eingaben fast native Elemente sind, könnte dies hilfreich sein.

Verwandte Themen