Javascript 使用“替换”时,停止光标与值重叠 我想知道当我把光标放在值中间时,如何防止重叠值的行为。之后,我尝试用一个空格替换双空格,但它与我的文本值重叠,同时将双空格替换为单空格

Javascript 使用“替换”时,停止光标与值重叠 我想知道当我把光标放在值中间时,如何防止重叠值的行为。之后,我尝试用一个空格替换双空格,但它与我的文本值重叠,同时将双空格替换为单空格,javascript,jquery,html,Javascript,Jquery,Html,下面是代码示例。有什么建议可以阻止这种行为吗 $(文档).ready(函数(){ $(“#txtInput”).keyup( 功能(事件){ 变量位置=event.target.selectionStart; event.target.value=event.target.value.replace(+/+/g'); event.target.selectionEnd=位置; }); }); 您可以检查是否确实修改了字符串的长度,如果确实需要,则需要从位置中减去1 $(文档).ready(函

下面是代码示例。有什么建议可以阻止这种行为吗

$(文档).ready(函数(){
$(“#txtInput”).keyup(
功能(事件){
变量位置=event.target.selectionStart;
event.target.value=event.target.value.replace(+/+/g');
event.target.selectionEnd=位置;
});
});

您可以检查是否确实修改了字符串的长度,如果确实需要,则需要从位置中减去1

$(文档).ready(函数(){
$(“#txtInput”).keyup(
功能(事件){
var len=event.target.value.length;
变量位置=event.target.selectionStart;
event.target.value=event.target.value.replace(+/+/g');
如果(len!==event.target.value.length)--位置;
event.target.selectionEnd=位置;
});
});

您可以检查是否确实修改了字符串的长度,如果确实需要,则需要从位置中减去1

$(文档).ready(函数(){
$(“#txtInput”).keyup(
功能(事件){
var len=event.target.value.length;
变量位置=event.target.selectionStart;
event.target.value=event.target.value.replace(+/+/g');
如果(len!==event.target.value.length)--位置;
event.target.selectionEnd=位置;
});
});

如果值正在更改,则仅替换值并设置选择位置,然后设置选择的开始和结束,并将其设置回一个字符

$(文档).ready(函数(){
$(“#txtInput”).keyup(
功能(事件){
变量位置=event.target.selectionStart;
var replacement=event.target.value.replacement(+/+/g');
if(替换!==event.target.value){
event.target.value=替换;
event.target.selectionStart=event.target.selectionEnd=position-1;
}
});
});

如果值正在更改,则仅替换值并设置选择位置,然后设置选择的开始和结束,并将其设置回一个字符

$(文档).ready(函数(){
$(“#txtInput”).keyup(
功能(事件){
变量位置=event.target.selectionStart;
var replacement=event.target.value.replacement(+/+/g');
if(替换!==event.target.value){
event.target.value=替换;
event.target.selectionStart=event.target.selectionEnd=position-1;
}
});
});


我不明白您所说的“替换时重叠文本值”是什么意思——使用您的代码片段,我看不到任何类型的“重叠”行为。它只是删除强制您遵守单个空格。当您使用双空格时,它将重叠第一个字符。我不明白“替换时重叠我的文本值”是什么意思。使用您的代码片段,我看不到任何类型的“重叠”行为。它只是简单地删除强制您遵守单个空格。当您使用双空格时,它将重叠第一个字符