gpt4 book ai didi

javascript - 使用替换时停止光标与值重叠

转载 作者:行者123 更新时间:2023-11-28 13:09:14 24 4
gpt4 key购买 nike

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

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

 $(document).ready(function() {
$("#txtInput").keyup(
function(event) {

var position = event.target.selectionStart;
event.target.value = event.target.value.replace(/ +/g, ' ');
event.target.selectionEnd = position;

});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="txtInput" type="text" value=""/>

最佳答案

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

 $(document).ready(function() {
$("#txtInput").keyup(
function(event) {
var len = event.target.value.length;
var position = event.target.selectionStart;
event.target.value = event.target.value.replace(/ +/g, ' ');
if (len !== event.target.value.length) --position;
event.target.selectionEnd = position;

});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="txtInput" type="text" value=""/>

关于javascript - 使用替换时停止光标与值重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44210185/

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