Bagaimana untuk Mengesan "Shift Enter" dan Menjana Baris Baharu dalam Textarea?
Dalam penyerahan borang, menekan Enter biasanya mencetuskan penyerahan borang . Walau bagaimanapun, dalam kebanyakan kawasan teks, adalah wajar untuk membenarkan pengguna menekan Shift Enter untuk mencipta baris baharu.
Penyelesaian 1: Mengubah Suai Skrip Penyerahan Borang
Jika anda borang diserahkan pada Enter kerana skrip tertentu, cari skrip itu dan ubah suainya untuk diserahkan hanya apabila Enter ditekan tanpa Shift. Contohnya, tukar kod ini:
if (evt.keyCode == 13) { form.submit(); }
Kepada ini:
if (evt.keyCode == 13 && !evt.shiftKey) { form.submit(); }
Penyelesaian 2: Mengendalikan Acara Utama (untuk Semua Penyemak Imbas)
Jika anda kekurangan akses kepada skrip penyerahan borang, anda boleh menggunakan JavaScript untuk mengendalikan acara penting dan memasukkan baris baharu apabila Shift Enter ditekan.
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 $("#your_textarea_id").keydown(handleEnter).keypress(handleEnter);
Kod ini memasukkan baris baharu ke dalam kawasan teks apabila menekan kekunci jika Shift Enter ditekan. Ia mengendalikan kes tepi dengan menggunakan kedua-dua acara kekunci kekunci dan penekanan kekunci.
Nota: Penyelesaian ini memerlukan perpustakaan luaran atau kod tersuai untuk menampal aksara baris baharu ke dalam kawasan teks pada kedudukan karet yang betul.
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Penyerahan Borang dan Buat Baris Baharu dengan Shift Enter dalam Textarea?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!