我有一个 textarea,我希望用户能够在其中输入文本。 textarea 中的每个新行最终都会被拆分并发送回数据库以在其他地方使用。为了从用户的角度显示这一点,我想为他们在 textarea 中输入的每个新行添加一个项目符号。
我已经把这个工作到了当你按下回车键并在 textarea 内容的最后一行时它成功添加一个项目符号的程度
<textarea onInput="handleInput(event)" rows="10"></textarea>
let previousLength = 0;
const handleInput = (event) => {
const bullet = "\u2022";
const newLength = event.target.value.length;
const characterCode = event.target.value.substr(-1).charCodeAt(0);
if (newLength > previousLength) {
if (characterCode === 10) {
event.target.value = `${event.target.value}${bullet} `;
} else if (newLength === 1) {
event.target.value = `${bullet} ${event.target.value}`;
}
}
previousLength = newLength;
}
https://codepen.io/andrewgarrison/pen/vqqmMv?editors=1010
但是,当您位于 textarea 内容的中间并按 Enter 键时,我还希望它添加一个项目符号。现在它只是添加了一个没有项目符号的新行。