Vue中使用Froala Editor时,外部方法调用html.insert()插入内容到光标最后停留位置功能实现
来源:互联网 发布:英雄联盟源码 编辑:程序博客网 时间:2024/06/03 15:55
这里使用的 Vue JS Froala WYSIWYG Editor,本文主要介绍如果在编辑框失去焦点时,把内容插入到失去焦点前光标停留位置,Froala Editor 的基本使用请直接进入官方网站中查看。
解决问题步骤
- 通过监听事件记录光标最后停留位置
- 插入内容前,先设置文本框光标至最后停留位置
下面使用代码进行介绍
vue使用Froala Editor 部分代码如下:
<froala :tag="'textarea'" v-model="content" :config="config"></froala>
下面代码表示需要创建的一些froalaEditor的监听事件:
//events 对应config中的events,config的其他配置信息这里就不列出。 events: { //this.editor 定义在vue data 中 'froalaEditor.initialized': (e, editor) => { this.editor = editor; }, //添加事件,在每次按键按下时,都记录一下最后停留位置 'froalaEditor.keyup': (e, editor) => { this.lastEditRange = getSelection().getRangeAt(0); }, //添加事件,在每次鼠标点击时,都记录一下最后停留位置 'froalaEditor.click': (e, editor) => { this.lastEditRange = getSelection().getRangeAt(0); } }
把内容插入到光标最后停留位置
insertHtml(emoji){ //设置编辑器获取焦点 this.editor.events.focus(); // 获取选定对象 const selection = getSelection(); // 判断是否有最后光标对象存在 if (this.lastEditRange) { // 存在最后光标对象,选定对象清除所有光标并添加最后光标还原之前的状态 selection.removeAllRanges() selection.addRange(this.lastEditRange) } //插入内容 this.editor.html.insert(emoji); //记录最后光标停留位置 this.lastEditRange = selection.getRangeAt(0)}
阅读全文
1 0
- Vue中使用Froala Editor时,外部方法调用html.insert()插入内容到光标最后停留位置功能实现
- js 将光标移动到textarea的最后和光标位置插入内容
- JS实现在光标位置插入内容
- 光标位置插入内容
- js实现textarea中光标位置插入你想要插入的内容
- 自定义insertContent方法的JQuery插件实现在文本框光标位置插入内容并选中
- 在光标位置插入内容
- JQuery在光标位置插入内容的实现代码
- 在光标位置插入内容的jquery实现方式
- 按光标位置在TEXTAREA中插入内容
- 在ueditor编辑器的光标停留处插入内容
- JQuery在光标位置插入内容
- JQuery在光标位置插入内容
- jQuery设置光标停留位置在文本最后(或在具体的位置)的办法
- jQuery设置光标停留位置在文本最后(或在具体的位置)的办法
- android EditText设置光标到内容最后
- 获取html中光标位置
- tinymce编辑器的光标位置插入内容时,光标丢失问题解决办法
- Linux驱动学习笔记----------触摸屏驱动
- 【Gradle】Gradle的安装与配置
- CMD命令结果保存至文本TXT
- 数学建模--迪克斯特拉( Dijkstra)算法
- 秋实大哥与小朋友 UESTC
- Vue中使用Froala Editor时,外部方法调用html.insert()插入内容到光标最后停留位置功能实现
- 基于EasyNVR实现RTSP/Onvif监控摄像头Web无插件化直播监控
- less-Extend(扩展)
- 秋实大哥与线段树 UESTC
- Karen and Coffee(前缀和,大量查询)
- 轻舟已过
- Spring aop拦截springmvc的controller请求方法,添加日志和统计方法执行时间
- Golang goroutine协程(一) 编写第一个并发处理的程序
- 人见人爱A^B HDU