我有一个textarea,我想知道如果我在textarea的最后一行或textarea的第一行用我的光标用JavaScript.
我想到抓住第一个换行符和最后一个换行符的位置,然后抓住光标的位置.
var firstNewline = $('#myTextarea').val().indexOf('\n');
var lastNewline = $('#myTextarea').val().lastIndexOf('\n');
var cursorPosition = ?????;
if (cursorPosition < firstNewline)
// I am on first line.
else if (cursorPosition > lastNewline)
// I am on last line.
Run Code Online (Sandbox Code Playgroud)
除非JavaScript简单或简单,否则首选jQuery解决方案.
所以我有一堆段落元素,它们是从db动态填充的.我已经使元素满足.我现在想通过标准表单提交来编辑数据库.有没有办法将可疑元素发回?
我有一个 textarea,我希望用户能够在其中输入文本。 textarea 中的每个新行最终都会被拆分并发送回数据库以在其他地方使用。为了从用户的角度显示这一点,我想为他们在 textarea 中输入的每个新行添加一个项目符号。
我已经把这个工作到了当你按下回车键并在 textarea 内容的最后一行时它成功添加一个项目符号的程度
<textarea onInput="handleInput(event)" rows="10"></textarea>
Run Code Online (Sandbox Code Playgroud)
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;
}
Run Code Online (Sandbox Code Playgroud)
https://codepen.io/andrewgarrison/pen/vqqmMv?editors=1010
但是,当您位于 textarea 内容的中间并按 Enter 时,我还希望它添加一个项目符号。现在它只是添加了一个没有项目符号的新行。