Tastaturereignisse an HTML5-Canvas anhängen

8

Es sieht so aus, als ob mouse events Listener zu canvas elements in Ordnung hinzufügt, aber keyboard events scheint nicht für canvas elements zu funktionieren.

Beispiel: Ссылка

Browser: Chrome 14.0 FF 5.0.1

Ich weiß, dass ich die Listener auf Dokumentebene verwenden kann, aber ich versuche, zuerst das Canvas-Element zu erhalten (damit Ihre Tastatur überall auf der Seite funktioniert).

Irgendwelche Ideen, wie man Key-Event-Zuhörer mit Canvas-Elementen arbeiten lässt?

    
Jacksonkr 30.09.2011, 16:38
quelle

1 Antwort

9

Ich glaube nicht, dass Sie den Ereignis-Listener für die Tastatur direkt in die Arbeitsfläche einfügen können. Wenn Sie Event-Handler nicht auf Fensterebene registrieren möchten, dann können Sie die Zeichenfläche in ein div-Objekt einschließen und Tastaturereignisse im div registrieren.

%Vor%

Ein weiterer interessanter Weg ist die Verwendung von tabIndex auf dem Canvas-Tag und das Binden von Keypress auf der Leinwand. Ich habe den Code bei jsfiddle aktualisiert, hier auch für zukünftige Referenzen einfügen.

%Vor%     
Shamaila Tahir 30.09.2011, 17:22
quelle