Programmgesteuertes Senden von Schlüsseln an das Eingabefeld?

9

Ich programmiere ein Web-Portal für eine Set-Top-Box mit einer eigenen Tastatur.

Die Tastatur hat die meisten Standard-Zeichentasten, aber keine Rücktaste!

Da es noch andere freie benutzerdefinierte Schlüssel gibt, möchte ich eine davon in die Rücktaste abbilden, wenn ich mich in einem Eingabefeld oder in einem Textbereich befinde.

Die Frage ist: Wie programmiere ich programmgesteuert eine Rücktaste zum Eingabefeld?

Oder: Wie programmiere ich programmatisch einen beliebigen Schlüssel (wie eine Pfeiltaste) an das Eingabefeld?

    
KaptajnKold 24.09.2009, 15:31
quelle

4 Antworten

2

Wenn Sie sich in einem Webbrowser befinden, können Sie echte Eingabeereignisse wie Tastatur- und Mausereignisse nicht fälschen (aus Sicherheitsgründen).

Sie können jedoch die anderen benutzerdefinierten Tasten, die gedrückt werden, erkennen. Sie können also auf das Ereignis onKeyDown für den zu verwendenden Schlüssel reagieren und das Eingabefeld nur aktualisieren, wenn Sie feststellen, dass es gedrückt wird ...

    
Rik Heywood 24.09.2009, 15:36
quelle
5

Angenommen, der Browser unterstützt das W3C-Ereignismodell, können Sie eine KeyEvent erstellen und diese mithilfe der Methode dispatchEvent des Eingabefelds versenden. Es gibt ein Beispiel (mit MouseEvent ) auf mozilla.org. Es gibt auch einige weitere Links zu wo ich diese Frage zuletzt beantwortet habe ;-)

UPDATE: Der folgende Code wurde in Firefox 3.5 getestet und führt erfolgreich einen Backspace durch die Zeichen im Textfeld:

%Vor%     
NickFitz 24.09.2009 16:25
quelle
0

Das ist nicht ganz das, wonach Sie gefragt haben, aber Control-H ist in den meisten Kontexten dasselbe wie eine Rücktaste.

    
catfood 24.09.2009 15:40
quelle
-2

Verwende onkeypress und JavaScript. Im Skript können Sie nach dem eingegebenen Zeichen suchen, das der Rücktaste zugeordnet ist, und diese Operation für den Text im Feld ausführen.

    
amischiefr 24.09.2009 15:41
quelle

Tags und Links