<div contenteditable="true" class="replyContent" v-html="replyContent" @keyup="changeData($event)" ></div>
insertEmoji: function (url) {
var tpl = `<img src="${ url }" width="24" class="emoji-item-img" />`
// console.log(this.replyContent);
this.replyContent += tpl
// console.log(this.replyContent);
},
changeData: function (event) {
this.replyContent = event.srcElement.innerHTML
// this.$set(this.$data, 'replyContent', event.srcElement.innerHTML)
}
执行emoji方法后,输入的时候,光标回回跳到首位
请问有什么解决方案?或者emoji有什么方法插入容器?
very much Thanks in advance~~~
结贴!!!
在网上搜索了许多解决办法,均是用getSelection、getRange(0)去设置光标解决
一开始,也是顺着这样的方向摸索,在keyup和插入图片都分别设置光标,但是问题百出
最后,意外发现,因为keyup和插入图片均是编辑框的事件,所以给编辑框设置光标即可解决问题
分享下我的代码,希望能帮助到有需要的人
附上参考url: 参考链接