现在以pre元素作为输入框(通过contenteditable属性将pre元素变为可编辑输入框)
<pre contenteditable="true" @click="inputAreaClick" @input="inputAreaInput" @keydown="inputAreaKeyEnter"></pre>
实现:比如我要下面这样的内容,那么页面显示如下图2:
步骤:这里的代码是适用于我这里的场景的,有些多余的代码,但思路是这个思路
1 监听输入框的点击、改变、键盘左右移动光标时,记录下光标相关的对象selection和range,统一调用下面方法进行记录
// 记录光标节点及位置
recordPositionAndNode() {
this.selection = window.getSelection()
this.range = wi