Dies ist eine Bearbeitung des ursprünglichen Posts, jetzt, wo ich das Problem besser verstehe. Jetzt mit Quellcode!
Wenn in IE, Körper (oder eine andere HTML-Div hat den Fokus), dann drücken Sie die Taste & amp; Klicken Sie auf selbe Zeit , und lassen Sie dann los ... ein Schlüsselereignis wird nie ausgelöst . Es wird nicht in Javascript oder Flash ausgelöst. Wo ist dieses Keyup-Ereignis?
Dies ist die Reihenfolge der Ereignisauslösung, die Sie stattdessen erhalten:
Nachfolgende Keydown- und Keyup-Ereignisse werden vom Flash erfasst, aber das anfängliche keyUp wird nie ausgelöst. Und ich brauche diesen Schlüssel!
Was nicht funktioniert:
Hier ist das html / javascript:
%Vor%Hier ist der as3-Code:
%Vor%Hier ist, was ich erwarte, ist los: Sie drücken, während der Fokus in HTML ist. Sie klicken auf das Flash-Objekt und der Fokus geht darauf. Wenn der Schlüssel aufgehoben wird, weil der HTML-Code nicht mehr fokussiert ist, weiß er nichts über den Schlüssel. Sie könnten dies einfach testen, indem Sie nur das gleiche tun, anstatt auf das Flash-Objekt zu klicken, auf ein anderes Fenster zu klicken und dasselbe zu versuchen, denn das ist tatsächlich, was passiert.
Da das Key-Up-Ereignis im Flash nicht auftritt, liegt das wahrscheinlich daran, dass es keine Key-Up-Ereignisse generiert, ohne dass eine Taste gedrückt wird, die es nie erhalten hat, weil der Fokus immer noch in HTML war.
Ich kann mir zwei mögliche Lösungen vorstellen. Die erste besteht darin, sicherzustellen, dass das Flash-Objekt mit dem Fokus beginnt . Die zweite besteht darin, ein leeres Div über das Flash-Objekt zu legen, sodass nie den Fokus erhält.
Platzieren Sie Ihre SWF-Einbettung vor jedem anderen JavaScript.
%Vor%Ich würde es außerhalb aller Funktionen oder in einer documentfähigen jQuery-Funktion versuchen, weil Flash einen z-Index von unendlich erhält und Schlüsselstriche vor allem anderen akzeptieren sollte, es sei denn, es ist noch nicht vorhanden, wenn die erste Schlüsseleingabe erfolgt.
Meine Vermutung ist, dass der erste Schlüssel auftaucht, bevor etwas empfangen werden kann. Versuchen Sie Ihren keyup event trigger mit jQuery in einer on document ready-Funktion.
Tags und Links javascript internet-explorer flash actionscript-3 swfobject