使用jQuery 偵測「Shift Enter」並在文字區域中產生新行
在Web 表單中,在文字區域中按「 Enter”通常會提交表格。但是,您可能想要實現不同的行為,例如在按下「Shift Enter」時建立新行。
jQuery 解決方案
$("#textarea_id").on("keydown", function(evt) { if (evt.keyCode == 13 && evt.shiftKey) { // Insert a newline character if (evt.type == "keypress") { pasteIntoInput(this, "\n"); } // Prevent form submission evt.preventDefault(); } }); function pasteIntoInput(el, text) { el.focus(); if (typeof el.selectionStart == "number" && typeof el.selectionEnd == "number") { var val = el.value; var selStart = el.selectionStart; el.value = val.slice(0, selStart) + text + val.slice(el.selectionEnd); el.selectionEnd = el.selectionStart = selStart + text.length; } else if (typeof document.selection != "undefined") { var textRange = document.selection.createRange(); textRange.text = text; textRange.collapse(false); textRange.select(); } }
純 JavaScript 解決方案
var textarea = document.querySelector("#textarea_id"); textarea.addEventListener("keydown", function(evt) { if (evt.keyCode == 13 && evt.shiftKey) { if (evt.type == "keypress") { pasteIntoInput(this, "\n"); } evt.preventDefault(); } });
以上是如何使用 jQuery 或 JavaScript 偵測「Shift Enter」並在文字區域中建立新行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!