gpt4 book ai didi

javascript - 如果对上一个文本进行了编辑,光标会跳到文本末尾

转载 作者:行者123 更新时间:2023-11-30 18:46:10 25 4
gpt4 key购买 nike

我有一段可以正常工作的 JavaScript 代码。我不明白的是,为什么在我对文本中较早的内容进行编辑后,光标会跳到文本字段中的文本末尾。

如果我对以前的一些文本进行编辑,有什么方法可以使光标保持在当前位置?

这是工作页面:http://rebol.vlexo.net/Programming/keys/esp/esp_keyboard.htm

...以及 JS 特定代码...

// This code checks for a certain keypress combo. For example cx, Cx, gx, Gx, etc...
// The hard to type esperanto characters we aim to insert.

var esperanto = [
['cx','\u0109'], ['gx','\u011D'],
['hx','\u0125'], ['jx','\u0135'],
['sx','\u015D'], ['ux','\u016D'],

['Cx','\u0108'], ['Gx','\u011C'],
['Hx','\u0124'], ['Jx','\u0134'],
['Sx','\u015C'], ['Ux','\u016C']
];

document.onkeyup = changeChars;

function changeChars(e) {
var KeyID = (window.event) ? event.keyCode : e.keyCode;
if(KeyID == 88)
{
var tmp = document.getElementById('TArea').value;
for (var i=0; i<esperanto.length; i++) {
re = new RegExp(esperanto[i][0],"g");
tmp = tmp.replace(re,esperanto[i][1]);
}
document.getElementById('TArea').value = tmp;
}
}

最佳答案

这是因为您要替换整个文本值。您需要在执行替换之前保存光标位置并在之后重新设置它。有关详细信息,请参阅本文:http://parentnode.org/javascript/working-with-the-cursor-position/

关于javascript - 如果对上一个文本进行了编辑,光标会跳到文本末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5381481/

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