Wie löse ich etwas aus, wenn sich der Cursor in TEXTAREA befindet und Ctrl+ Entergedrückt wird? Verwenden von jQuery . Vielen Dank
90
Wie löse ich etwas aus, wenn sich der Cursor in TEXTAREA befindet und Ctrl+ Entergedrückt wird? Verwenden von jQuery . Vielen Dank
Antworten:
Sie können das
event.ctrlKey
Flag verwenden, um zu sehen, ob die CtrlTaste gedrückt wird.Überprüfen Sie das obige Snippet hier .
quelle
10
, lautet der Tastencode nicht13
.keypress
Ereignis, wird der Schlüsselcode 10 sein, aberkeydown
oderkeyup
wird 13 melden. Nur Chrom testenEigentlich macht dieser den Trick und funktioniert in allen Browsern:
Link zu js Geige .
Anmerkungen:
keyCode
10 registriert , nicht als 13 ( Fehlerbericht ). Also müssen wir nach beidem suchen.ctrlKey
ist controlunter Windows, Linux und MacOS (nicht command). Siehe auchmetaKey
.quelle
ctrlKey
entspricht der Befehlstaste auf Macs?if ((e.keyCode == 10 || e.keyCode == 13) && (e.ctrlKey || e.metaKey))
Universelle Lösung
Dies unterstützt auch macOS: Sowohl Ctrl+ Enterals auch ⌘ Command+ Enterwerden akzeptiert.
quelle
e.ctrlKey
Erkennt⌃ Control
unde.metaKey
erkennt unter macOS⌘ Command
. Verwenden Sie diese Option, wenn sowohl Strg-Eingabe als auch Befehl-Eingabe das Verhalten auslösen sollen.e.keyCode
von akzeptieren10
, um zusätzlich zu Enter zu bedeuten13
? In der MDN-keyCode
Dokumentation wird nur13
ein möglicher Wert für Enter aufgeführt, der in mehreren Browsern und Betriebssystemen getestet wurde.Ich fand Antworten von anderen entweder unvollständig oder nicht browserübergreifend kompatibel.
Dieser Code funktioniert mit Google Chrome.
quelle
Dies kann wie folgt auf ein einfaches, aber flexibles JQuery-Plugin erweitert werden:
So
sollte ein Formular senden, wenn der Benutzer die Strg-Eingabetaste drückt, wobei der Schwerpunkt auf dem Textbereich des Formulars liegt.
(Dank an https://stackoverflow.com/a/9964945/1017546 )
quelle
quelle
Zuerst müssen Sie ein Flag setzen, wenn Ctrlgedrückt wird. Führen Sie diesen Onkeydown durch. dann müssen Sie den Keydown von enter überprüfen. Deaktivieren Sie das Flag, wenn Sie ein Keyup für sehen Ctrl.
quelle
Vielleicht etwas spät zum Spiel, aber hier ist, was ich benutze. Außerdem wird das Senden des Formulars erzwungen, das das aktuelle Ziel des Cursors ist.
quelle
if
...else if
" zu einem einzigen vereinfachenif (e.ctrlKey && (e.keyCode == 10 || e.keyCode == 13))
.