背景:基于Angular 6,引入ngx-ueditor

发现现象:如果以Shift键+任意键结尾,则ngModel会丢失包含shift键的字符

例如:输入“ABC+AB++++”,则ngModel中只能获得“ABC+AB”,丢失最后的几个+号

原因:按下Shift键不触发编辑器的contentChange事件,

但如果输入shift键+任意键后,又输入其他正常字符,触发了contentChange事件,则可以获得完整文本,

即,若不是以shift键+任意键结尾,就不存在问题

解决方案一:在保存的时候,调用ueditor的getContent()方法,赋值给,接口参数,手动获取完整文本保存

Html:

 <ueditor [(ngModel)]="content" #full_content></ueditor>

定义ViewChild:

@ViewChild('full_content') full_content: UEditorComponent;

  保存的时候,获取完整文本,传到接口参数:

 let content = this.full_content.Instance.getContent();

缺点:每次使用ueditor插件都要在提交接口的时候,再获取一次完整文本,代码重复,且对开发人员来说,Bug修复需要修改每个使用uEditor的页面,繁琐,易出错

解决方案二:  需要修改Ueditor.all.js(V1.4.3.3版本)文件的三处位置,具体如下:

7487行:删除“|| evt.shiftKey”条件判断;

14390行:删除me.keydown事件的“ && !evt.shiftKey”条件判断;

14429行:删除me.keydown事件的“&& !evt.shiftKey”条件判断;

但由于考虑修改插件源码不利于插件维护和插件升级,故没有采取第二种方案。

参考资料:https://github.com/cipchk/ngx-ueditor/blob/master/README.md

转载于:https://www.cnblogs.com/alwaysblog/p/11283752.html

【ngx-ueditor】百度编辑器按下Shift键不触发contentChange事件相关推荐

  1. ueditor百度编辑器常见报错的解决方法

    如果是第一次使用ueditor百度编辑器,或者对它不熟悉的情况下使用,会出现一些常见问题和报错.怎么使用建议参考ueditor官网,这里只谈一些常见错误. 问题:'UE' is not defind ...

  2. 百度在线编辑器 显示html,UEditor百度编辑器中JS/html代码(script标签)被过滤的解决办法...

    作为一名程序员,在文章中经常会插入各种代码,大部分代码都不会发生问题,但div和script标签是经常会被使用到的. 而在之前的文章编写过程中,插入JS代码后,第一次文章会显示正常,而之后在后台编辑器 ...

  3. Vue使用UEditor百度编辑器,上传图片服务配置问题,查看版本

    文章目录 Vue使用UEditor百度编辑器,上传图片服务配置问题,查看版本 1.前言 2.环境配置 3.查看版本 4.配置demo 4-1.制作demo模块 4-2.配置后端服务 4-3.重启Tom ...

  4. 黑客攻击最短代码大揭秘!不要问,问就是5下shift键

    Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者丨Caesar 来源丨手机电脑双黑客(heike ...

  5. vue el-checkbox按下shift键实现批量选择数据

    目录 1.先看下效果 2.代码分析 1.添加html代码,先将列表写出来 2.初始化数据:给原数据添加index属性 3.设置一个flag记录是否按下了shift键,通过监听键盘按下和松开给flag赋 ...

  6. 0x8000 GetKeyState(VK_SHIFT); 判断是否有按下shift键

    0x8000 & GetKeyState(VK_SHIFT); 这句是判断是否有按下shift键 为什么GetAsyncKeyState()& 首先说明,有好多程序或书上是0x8000 ...

  7. ueditor百度编辑器destoon的word图片转存功能

    destoon6.0或destoon7.0整合ueditor百度编辑器后,需要把word中的图片直接复制到编辑器,然后点击转存按钮,即可批量保存上传,如下图 新版的百度编辑器可能要修改ueditor. ...

  8. Day10 -- JavaScript实现按下 Shift 键后进行多选操作的功能

    实现效果 需求分析 通过shift键实现连续多选功能 按下shift的同时点击A复选框,然后在点击B复选框,A,B之间的复选框都被勾选上 或者是先点击A复选框,再按下shift键点击B复选框,A,B之 ...

  9. Ueditor百度编辑器中的 setContent()方法的使用

    百度编辑器Ueditor所提供的setContent()方法作用是:设置或者改变编辑器里面的文字内容或html内容 函数说明:setContent(string,boolean); 参数string ...

最新文章

  1. SMAT,PacBio
  2. 判断TREE的某个节点是否是叶节点.
  3. Java读写二维数组到文件
  4. 海驾学车过程全揭秘——第九篇:科目三集训及考试
  5. C++ STL容器vector篇(一) vector容器存放内置和自定义数据类型并遍历
  6. mysql如何给text字段添加索引_MySQL 是如何利用索引的
  7. 案例33-用户退出功能
  8. Liunx 项目部署及域名访问
  9. opencv打开双目
  10. java opencv 计算滑块横移距离
  11. python中如何去掉重复元素
  12. 快速“美女找茬”(辅助工具)
  13. sm框架 访问局域网mysql_ssm框架搭建之sm框架整合
  14. React 事件处理
  15. 如何判断两条线段是否相交
  16. 吉林警方重击涉黑涉恶犯罪 一年打掉439个团伙
  17. 绕过 iOS 代码签名验证 ldid
  18. Nginx是什么,为什么使用Nginx
  19. ffmpeg实现g711音频和H264,H265封装mp4(整理,非原创)
  20. 2021/05/05 OJ每日一题 2132: Tmk吃汤饭 python

热门文章

  1. [转]/boot/grub/grub.conf 内容诠释
  2. 根据服务器ip地址查看虚拟目录,IIS虚拟目录实现与文件服务器网络驱动器映射共享...
  3. 找不到_笔记本找不到无线网络怎么办
  4. 机器人庄园作文_小学生的科幻作文
  5. electron 样式不加载_electron-vue,启动之后没了样式和图片是什么原因呢,请大佬帮忙康康...
  6. oracle批处理参数调用,bat调用jar包并传入多个参数
  7. 网络好不好,ping一下就知道
  8. Serverless 工程实践 | 零基础上手 Knative 应用
  9. Dragonfly 成为 CNCF 孵化项目,我们与基金会首位华人 TOC 聊了聊
  10. cpu飙升 死循环_java排查一个线上死循环cpu暴涨的过程分析