Wie kann ich den hintergrund ändern die Farbe der Taste auf-Taste zu drücken?
Ich habe mit JavaScript on-screen-Tastatur, die Art der Sache, nur für Experimente. Ich wollte sehen, ob ich erkennen könnte, welche Taste gedrückt wurde und die entsprechende on-screen-Tastatur-Taste ändern Sie die Farbe, ähnlich wie viele online-touch-Eingabe-Kurse haben.
Ich habe versucht, viele Variationen der onkeydown
Befehl, aber kein Glück.
//doesn't seem to do anything.
document.getElementById("a").style.backgroundColor="#004f40";
Button-id ist es Wert eg/Sie die A-Taste ist id="a"
.
Könnte jemand mir irgendwelche Ideen auf, wie dies zu tun?
- werfen Sie einen Blick auf: stackoverflow.com/questions/13630229/onclick-in-css
- setzen Sie Ihren code hier ein, oder verwenden Sie jsfiddle.net
- Vielleicht ging ich etwas zu weit, aber ich mag onscreen-Tastaturen auch so gemacht, eine kleine demo: jsfiddle.net/3aQZG. Ich empfehle die Verwendung von jQuery in deinem Fall (artikulieren können, wenn die demo erfüllt Ihren Bedürfnissen). Die Tastatur ist ein bisschen lang, aber am Ende haben Sie den Eingang zu fangen keydon / Veranstaltungen (fiddle fängt diese Ereignisse auf den Körper, so musste über ein Ziel-Eingabefeld).
- Hast du jemals eine Antwort auf dein problem? Wenn Sie haben, sollten mit uns geteilt haben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein Beispiel, wird die Farbe zunächst in CSS und javascript verwendet addEventListener zu hören für einen Klick event und ändert die Farbe der Schaltfläche, wenn darauf geklickt, es beseitigt auch die angefügte Ereignis-listener.
CSS
HTML
Javascript
Auf jsfiddle
In diesem Beispiel wird die Maus klicken Sie auf Ereignis, aber Sie brauchen, zu betrachten, wichtige Ereignisse statt einer Maus ein, es könnte einer von vielen; z.B. keydown, keypress, oder keyup.
Update: Hier ist eine mögliche Lösung mit dem Schlüssel-events.
CSS
Javascript
Auf jsfiddle
Hinweis: dieses Beispiel ist keineswegs perfekt, es ist nur ein Beispiel dafür, wie Ereignisse verwenden.
Update: hier ist ein weiteres Beispiel mit allen 3 events zu de-bounce der Tastatur, wenn mehrere Tasten gedrückt und losgelassen werden. (Vergleichen Sie es mit den oben.)
CSS
Javascript
Auf jsfiddle
Hinweis: auch diese ist nicht perfekt, da kommt es auf Millisekunden-timing zu entsprechen, keydown-und keypress-Ereignisse.
Oder alternativ können Sie jQuery:
Natürlich, ersetzen Sie die Farben jeweils.
Holen Sie sich jQuery
Oder pure CSS:
Es ist die beste, da Sie nicht haben, um code zu schreiben für jeden einzelnen Knopf, den Sie haben, und Sie haben wahrscheinlich bereits CSS-Klassen für Sie.