textarea如何在文字后面_js或jquery在textarea光标位置后面添加文本
时间: 2023-12-12 14:05:50 浏览: 45
可以使用以下 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 被点击时,获取光标位置和当前文本内容,然后在光标位置后面添加要添加的文本。
相关问题
js实现在类名为textArea的div中添加p文本
在 JavaScript 中,可以使用 DOM 操作来实现在类名为 `textArea` 的 div 中添加 p 文本的操作。下面是一个基本的实现示例:
```javascript
// 获取类名为 textArea 的 div 元素
var textArea = document.querySelector(".textArea");
// 创建一个新的 p 元素
var newP = document.createElement("p");
// 设置 p 元素的文本内容
newP.textContent = "这是一个新的段落文本。";
// 将 p 元素添加到 div 元素中
textArea.appendChild(newP);
```
上述代码中,我们首先使用 `querySelector()` 方法获取类名为 `textArea` 的 div 元素,然后使用 `createElement()` 方法创建一个新的 p 元素,并使用 `textContent` 属性设置 p 元素的文本内容。最后,使用 `appendChild()` 方法将 p 元素添加到 div 元素中,这样就完成了在类名为 `textArea` 的 div 中添加 p 文本的操作。
需要注意的是,上述示例中的代码中类名为 `textArea` 的 div 元素必须已经存在于 HTML 文档中,否则无法正常获取到该元素。如果需要动态创建 div 元素并添加到页面中,可以使用 `createElement()` 和 `appendChild()` 方法来实现。
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` 属性。