gpt4 book ai didi

javascript - 使用 Javascript 在文本区域中的光标处插入文本

转载 作者:数据小太阳 更新时间:2023-10-29 04:55:45 26 4
gpt4 key购买 nike

我在网上四处寻找解决方案,确实有一些,但它们似乎都将代码拆分为支持 IE 和 Firefox。

我想知道是否有一种更优雅的方法适用于所有浏览器,即在 textarea 中的光标处插入一些文本。

非常感谢。

最佳答案

不,没有。 IE 有它的 TextRange 对象来完成这项工作。 IE >= 9 以及过去很长一段时间内的所有其他内容在文本区域和文本输入上都具有 selectionStartselectionEnd 属性。这个特定的任务还不错:以下将删除当前选择(如果存在的话),在插入符号处插入文本并在所有主要浏览器中立即将插入符号重新定位在插入文本之后:

function insertTextAtCursor(el, text) {
var val = el.value, endIndex, range;
if (typeof el.selectionStart != "undefined" && typeof el.selectionEnd != "undefined") {
endIndex = el.selectionEnd;
el.value = val.slice(0, el.selectionStart) + text + val.slice(endIndex);
el.selectionStart = el.selectionEnd = endIndex + text.length;
} else if (typeof document.selection != "undefined" && typeof document.selection.createRange != "undefined") {
el.focus();
range = document.selection.createRange();
range.collapse(false);
range.text = text;
range.select();
}
}

关于javascript - 使用 Javascript 在文本区域中的光标处插入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3308292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com