如何用Javascript替换文本区域中的选定文本
How to replace selected text in a textarea with Javascript?
我有一个文本区域和一个按钮,它将以下文本添加到文本区域:
"-列表项"
如果在文本区域中选择了一些文本,我宁愿添加的文本显示为:
"-(选定文本)"
因此,实现这一点的方法是使用if函数来查看文本区域中是否选择了文本,如果是这样,则接收高亮显示的文本,以便将其附加到文本区域中的文本。
附加部分可以简单地使用document.getElementById(textarea).value += string
来完成,但我不确定是否选择了文本区域中的一些文本并接收到它。
对于非IE浏览器,您可以使用textarea对象的selectionStart和SelectionEnd属性执行类似操作:
function createListElement() {
if(document.activeElement === textarea) {
if(typeof textarea.selectionStart == 'number' && typeof textarea.selectionEnd == 'number') {
// All browsers except IE
var start = textarea.selectionStart;
var end = textarea.selectionEnd;
var selectedText = textarea.value.slice(start, end);
var before = textarea.value.slice(0, start);
var after = textarea.value.slice(end);
var text = before + '- ' + selectedText + after;
textarea.value = text;
}
}
}
但这样一个琐碎的操作对IE来说越来越难了,你可以在这里找到更多。
我希望这将帮助您:)
相关文章:
- onkeyup无法动态创建多个文本区域
- 具有所有样式的文本正在复制到可编辑文本区域
- 在文本区域POST后解码JSON
- 在文本区域中使用jQuery.text()保持换行符
- ng在下拉列表和文本区域提交
- 将文本插入光标所在的文本区域
- 离开页面导航后保留文本区域内容
- Javascript-在文本区域中断,但不在段落中中断
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 测试文本区域中的特定文本格式
- 文本编辑后,append函数不适用于文本区域
- 如何在ReactJs中链接下拉列表和文本区域
- I'我试图在文本区域中进行特定的输入,调用特定的javascript函数,但没有成功;不起作用
- 使用JSON文件中的变量(字符串)填充文本区域
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 如何为动态创建的文本区域中输入的值更新ng模型
- 延迟高亮显示文本区域中的文本
- 将字母添加到文本区域的末尾
- TinyMCE在新添加的文本区域