Heim > Web-Frontend > CSS-Tutorial > Wie kann ich „Shift Enter' erkennen, um eine neue Zeile in einen Textbereich einzufügen, anstatt ein Formular abzusenden?

Wie kann ich „Shift Enter' erkennen, um eine neue Zeile in einen Textbereich einzufügen, anstatt ein Formular abzusenden?

Patricia Arquette
Freigeben: 2024-11-30 09:25:13
Original
445 Leute haben es durchsucht

How Can I Detect

Erkennen von „Shift Enter“ und Einfügen einer neuen Zeile im Textbereich

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();
}
Nach dem Login kopieren

... in Folgendes:

if (evt.keyCode == 13 && !evt.shiftKey) {
    form.submit();
}
Nach dem Login kopieren

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);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage