Mein Problem ist, dass ich vor kurzem begonnen habe, meine HTML5-Webanwendung zu ändern, um Vollbild + Zeigersperre zu verwenden, anstatt die Maus im Fenster zu ziehen. Die App verwendet neben der Maus auch Tastatur, und alles hat früher gut funktioniert. Jetzt kann ich jedoch keine Tasten drücken, um zu arbeiten. Zeiger gesperrt Maus funktioniert perfekt.Keydown/keyup funktioniert nicht mit Zeigersperre/Vollbild
Früher hörte ich so an Tasten:
document.onkeydown = handleKeyDown;
document.onkeyup = handleKeyUp;
wo HandleKeyDown und Up sind Funktionen, zum Beispiel:
function handleKeyUp(event) {
doStuffWith(event.keyCode);
}
Jetzt habe ich direkt neben hinzugefügt Tastatur Hörer meiner mousemove- Zuhörer:
wo handleKey * sind die gleichen wie oben, aber doStuffWith d tu nichts. Es scheint einige undefinierte Ereignisse zu bekommen und sonst nichts. Das ist wahrscheinlich ein ziemlich elementares Problem, aber ich habe es schwer, es zu lösen. Die meisten Beispiele und Tutorials, die ich bei Google gefunden habe, verwenden nicht den addEventListener, sondern den alten Stil, den ich zuvor verwendet habe.
Ich bin sehr dankbar für jede Hilfe.
bearbeitet // Eine Klarstellung: Da Ereignisse nicht definiert sind, wird doStuffWith nicht aufgerufen werden, weil die Ausführung stoppt, wenn sie versuchen .keyCode undefinierten
Danke, ich wusste, dass es so etwas gab! Leider löst es das Problem nicht. Listener scheinen gut für Nicht-Vollbild zu funktionieren, aber im Vollbildmodus ist das einzige Schlüsselereignis, das gemäß den Protokollen auftritt, wenn esc hochgeht, dh unmittelbar nachdem der Vollbildmodus beendet ist. – Asta
@Asta: OK. Ich weiß fast nichts über das Arbeiten mit Vollbild und Zeigersperre, daher kann ich wahrscheinlich nicht viel weiter helfen, außer diesen Link anzugeben, der besagt, dass alphanumerische Tasten im Vollbildmodus deaktiviert sind: https: //developer.mozilla. org/de/DOM/Using_full-screen_mode # Things_your_users_want_to_know –
Danke, das war der Grund! Ich habe versucht nur alphanumerisch (da das ist, was die App verwendet). Pfeiltasten funktionieren gut. Ich kann jedoch nicht sagen, dass ich diese Entscheidung wirklich verstehe, weil die meisten FPS wdd und Zahlen verwenden. Macht es Ihnen etwas aus, mit dieser Information eine Antwort zu geben, damit ich sie akzeptieren kann? – Asta