gpt4 book ai didi

javascript - 如何防止自定义光标移动字母?

转载 作者:行者123 更新时间:2023-11-29 18:02:08 24 4
gpt4 key购买 nike

我为一个 div 制作了一个自定义 CSS 光标。我试图让它像任何其他标准光标一样显示。这是 99% 的工作,但是当我在字母之间移动时,光标会移动其他字母。我确信它可以通过绝对定位来修复,但我想出的任何东西似乎都不起作用。任何帮助将不胜感激。

    $("#next-btn").click(function() {
var text = $("#text").text();
console.log(text);
var n = text.indexOf("|");
text = text.replace("|", "");
text = text.slice(0, n + 1) + '<span id="cursor">|</span>' + text.slice(n + 1);
$("#text").replaceWith('<span id="text">' + text + '</span>');
});
    #text {
desplay: inline;
font-size: 1.8em;
letter-spacing: .05em;
}
#start,
#end,
#cursor {
padding: 0;
margin: 0;
}
#cursor {
-webkit-animation: blink 1.5s infinite;
animation: blink 1.5s infinite;
font-weight: bold;
font-size: 1.2em;
}
@-webkit-keyframes blink {
0%, 49.9%, 100% {
opacity: 0;
}
50%,
99.9% {
opacity: 1;
}
}
<!doctype html>
<html lang="en">

<head>
<meta charset="utf-8">
<title>demo</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>

<body>
<div>
<span id="text">H<span id="cursor">|</span>ello world</span>
</div>
<p>
<button id="next-btn">Next</button>
</p>
</body>

</html>

最佳答案

最好的解决方案可能是使用字母间距和边距。使用“position: absolute”可能适用于一些额外的 css,但可能会删除沿字符串的移动。

(根据 Roko C. Buljan 的建议进行编辑,感谢改进)

  letter-spacing: -1em;
margin: 0 4px 0 -4px;

https://jsfiddle.net/2ozdm8sr/1/

关于javascript - 如何防止自定义光标移动字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34168850/

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