相关疑难解决方法(0)

如何在textarea中获得光标位置?

我有一个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)
  • 是否可以抓住textarea中的光标位置?
  • 您是否有更好的建议,以了解我是否在textarea的第一行或最后一行?

除非JavaScript简单或简单,否则首选jQuery解决方案.

html javascript jquery textarea input

61
推荐指数
4
解决办法
11万
查看次数

使用HTML5,如何在表单提交中使用contenteditable字段?

所以我有一堆段落元素,它们是从db动态填充的.我已经使元素满足.我现在想通过标准表单提交来编辑数据库.有没有办法将可疑元素发回?

html5 contenteditable

33
推荐指数
1
解决办法
2万
查看次数

将项目符号添加到文本区域内的每个新行

我有一个 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 时,我还希望它添加一个项目符号。现在它只是添加了一个没有项目符号的新行。

html javascript reactjs

1
推荐指数
1
解决办法
1086
查看次数

标签 统计

html ×2

javascript ×2

contenteditable ×1

html5 ×1

input ×1

jquery ×1

reactjs ×1

textarea ×1