textarea如何在文字后面_js或jquery在textarea光标位置后面添加文本
时间: 2023-12-12 11:05:50 浏览: 232
可以使用以下 jQuery 代码,在 textarea 光标位置后面添加文本:
```javascript
$(function() {
$('textarea').on('click', function() {
var cursorPos = $('textarea').prop('selectionStart');
var v = $('textarea').val();
var textBefore = v.substring(0, cursorPos);
var textAfter = v.substring(cursorPos, v.length);
$('textarea').val(textBefore + "要添加的文本" + textAfter);
});
});
```
这段代码会在 textarea 被点击时,获取光标位置和当前文本内容,然后在光标位置后面添加要添加的文本。
相关问题
jquery 在光标位置自动输入
要在光标位置自动输入,可以使用 jQuery 的 `val()` 方法和 JavaScript 的 `selectionStart` 和 `selectionEnd` 属性。以下是一个例子:
```javascript
// 获取 textarea 元素
var textarea = $('#myTextarea')[0];
// 获取光标位置
var startPos = textarea.selectionStart;
var endPos = textarea.selectionEnd;
// 获取当前内容
var content = textarea.value;
// 在光标位置插入文本
var textToInsert = '自动输入的内容';
textarea.value = content.substring(0, startPos) + textToInsert + content.substring(endPos);
// 重新设置光标位置
textarea.selectionStart = startPos + textToInsert.length;
textarea.selectionEnd = startPos + textToInsert.length;
```
这段代码会在 `myTextarea` 元素的光标位置自动输入 `自动输入的内容`。注意,这里使用了 `[0]` 来获取原生的 textarea 元素,因为 jQuery 对象没有 `selectionStart` 和 `selectionEnd` 属性。
阅读全文