contenteditable 光标位置怎么总是乱跳?
我在用 contenteditable="true" 做一个简单的富文本编辑器,但每次输入完内容或者插入 HTML 后,光标就会莫名其妙地跳到开头或者末尾,根本没法连续编辑。
我试过用 document.execCommand 插入内容,也试过直接操作 innerHTML,结果都一样。比如下面这段代码:
const el = document.querySelector('[contenteditable]');
el.innerHTML += '<strong>新内容</strong>';
el.focus();
加了 focus() 也没用,光标还是不听话。有没有办法在插入内容后把光标精准定位到刚插入的内容后面?
百里菲菲
Lv1
应该能用 Range API 手动控制光标位置,别光 focus,得保存插入前的光标再插完还原:
点赞
6
2026-02-27 15:00