Heim >Web-Frontend >CSS-Tutorial >Wie kann ich „Shift Enter' erkennen, um eine neue Zeile in einen Textbereich einzufügen, anstatt ein Formular abzusenden?
Standardmäßig wird das Formular durch Drücken der „Enter“-Taste innerhalb eines Textbereichs gesendet. Sie möchten diese Funktionalität jedoch beibehalten und Benutzern gleichzeitig ermöglichen, durch Drücken der Tastenkombination „Umschalt“ und „Eingabe“ eine neue Zeile zu erstellen. So erreichen Sie dies in JavaScript:
Wenn Sie das Skript steuern, das „Enter“ zum Absenden des Formulars veranlasst, ändern Sie einfach den Code, um zu prüfen, ob die „Shift“-Taste nicht gedrückt ist. Ändern Sie beispielsweise Folgendes:
if (evt.keyCode == 13) { form.submit(); }
... in Folgendes:
if (evt.keyCode == 13 && !evt.shiftKey) { form.submit(); }
Wenn Sie jedoch keinen Zugriff auf den Originalcode haben, können Sie das folgende Skript verwenden um das gewünschte Verhalten zu erreichen, auch wenn sich der Cursor nicht am Ende des Textes befindet:
function handleEnter(evt) { if (evt.keyCode == 13 && evt.shiftKey) { if (evt.type == "keypress") { pasteIntoInput(this, "\n"); } evt.preventDefault(); } } // Handle both keydown and keypress for Opera as it suppresses default key action in keypress $("#your_textarea_id").keydown(handleEnter).keypress(handleEnter);
Dieses Skript prüft auf die Tastenkombination „Umschalt“ und „Eingabe“. Wenn es erkannt wird, fügt es mithilfe der PasteIntoInput-Funktion ein Zeilenumbruchzeichen („n“) in den Textbereich ein und verhindert die standardmäßige Formularübermittlung.
Das obige ist der detaillierte Inhalt vonWie kann ich „Shift Enter' erkennen, um eine neue Zeile in einen Textbereich einzufügen, anstatt ein Formular abzusenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!