Secara lalai, menekan kekunci "Enter" di dalam textarea menyerahkan borang. Walau bagaimanapun, anda ingin mengekalkan fungsi ini sambil membenarkan pengguna membuat baris baharu dengan menekan kombinasi kekunci "Shift" "Enter". Begini cara untuk mencapai ini dalam JavaScript:
Jika anda mengawal skrip yang membuat "Enter" menyerahkan borang, cuma ubah suai kod untuk menyemak sama ada kekunci "Shift" tidak ditekan. Sebagai contoh, tukar ini:
if (evt.keyCode == 13) { form.submit(); }
... kepada ini:
if (evt.keyCode == 13 && !evt.shiftKey) { form.submit(); }
Walau bagaimanapun, jika anda tidak mempunyai akses kepada kod asal, anda boleh menggunakan skrip berikut untuk mencapai tingkah laku yang diingini, walaupun kursor tidak berada di penghujung teks:
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);
Skrip ini menyemak "Shift" "Enter" kombinasi kunci. Apabila dikesan, ia memasukkan aksara baris baharu ("n") ke dalam kawasan teks menggunakan fungsi pasteIntoInput dan menghalang penyerahan borang lalai.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan 'Shift Enter' untuk Memasukkan Baris Baharu dalam Textarea Daripada Menghantar Borang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!