gpt4 book ai didi

javascript - 将值插入到光标所在的 TEXTAREA 中

转载 作者:行者123 更新时间:2023-12-03 21:46:08 26 4
gpt4 key购买 nike

我有一个文本区域和一个带有值的 div。当我单击一个值时,我将其插入文本区域。我需要将它插入到我的光标在文本区域中的位置。为什么我说是?因为当我将其移出并单击要插入的值时,我认为它会失去文本区域的焦点。

所以,我的问题是,有没有办法“记住”文本区域中最新的光标位置,然后在该位置插入我的值?

也许它可能是字符串中的字符数?..目前我这样添加它:

input.val( function( i, val ) { return val + " " + myInsert + " "; } );

我也使用 jQuery,也许我可以使用它?

最佳答案

我编写了一个跨浏览器 jQuery 插件,用于处理文本区域和文本输入中的插入符/选择,名为 Rangy inputs (可怕的名字,我真的应该想一个更好的名字)。此方法与 Edgar Villegas Alvarado's answer 中的技术的组合应该可以解决问题,尽管在 IE 中,focusout 事件触发得太晚,您需要使用专有的 beforedeactivate 事件来代替:

var $textBox = $("#foo");

function saveSelection(){
$textBox.data("lastSelection", $textBox.getSelection());
}

$textBox.focusout(saveSelection);

$textBox.bind("beforedeactivate", function() {
saveSelection();
$textBox.unbind("focusout");
});

稍后插入文本时,以下命令将在上一个光标位置插入文本(或者覆盖先前选择的文本,如果用户选择了任何文本):

var selection = $textBox.data("lastSelection");
$textBox.focus();
$textBox.setSelection(selection.start, selection.end);
$textBox.replaceSelectedText("Some new text");

请参阅此处的 jsFiddle 示例:http://jsfiddle.net/rQXrJ/1/

关于javascript - 将值插入到光标所在的 TEXTAREA 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5889127/

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