X

正确的文本插入姿势

2022/4/26

之前,在写这个博客的时候,我给md编辑器写了一点点功能,大概就是插入图片以及undo之类的。

因为要记录光标位置然后插入内容,感觉很是费工夫。

直到今天,我看到一个api:setRangeText

HTMLInputElement.setRangeText()

顿觉之前走了不少冤枉路。

Syntax

element.setRangeText(replacement);
element.setRangeText(replacement, start, end [, selectMode]);

它的作用就是选中区域的文本替换,简单明了。我此前是通过截断拼凑的古老方式实现插入。

看看兼容性:

Screenshot 2022-04-26 224903.png

只是IE不支持~ IE这个嘛,我也没打算支持。其它浏览器都是很低版本就能用了,所以不考虑IE的童鞋可以放心食用。

Commit