react-quill富文本 中文输入法触发change问题

这篇具有很好参考价值的文章主要介绍了react-quill富文本 中文输入法触发change问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用的富文本是编辑器 react-quill

需求:

点击按钮插入自定义颜色文字,然后手动输入为正常颜色。

问题:

quill组件把带颜色的字体创建个dom, 临近的文字都会整合进一个dom中,导致输入的文字和插入的带颜色 都统一成一个颜色了。

中文输入拼音阶段就开始触发change事件,在转换文本时会把拼音和汉字混杂出现,结果不正确。

解决方案:

绑定compositionstart,compositionend 事件,可监听到非直接输入的输入法输入状态,结束时机准确。

设置个状态,通过判断状态区分 中/英文输入法区别,正确处理逻辑。文章来源地址https://www.toymoban.com/news/detail-704791.html

// 设置个状态,表示当前是否是非直接输入法输入(如中文,有拼音阶段)
let editorIsChineseStatus = false
useEffect(() => {
    const editorDom = document.querySelector('.ql-editor')
     if (!editorDom) return
    editorDom.addEventListener('compositionstart',function () {
        // 当前是非直接输入法输入
            editorIsChineseStatus = true
       },
       false
    )
    editorDom?.addEventListener('compositionend',function (e) {
              // 非直接输入法输入结束
              editorIsChineseStatus = false
              // 处理逻辑
            todo()
         },
          false
    )

}, [])
const editorChange = () => {
    // 直接输入法输入(英文,可直接输入)
    if (!editorIsChineseStatus) {
        // 处理英文输入逻辑
        todo2()
    }
}

到了这里,关于react-quill富文本 中文输入法触发change问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • arch配置中文和输入法

    主要解决三点问题 1.显示中文 2.使用中文输入法 3.显示正确的时间 目录 这篇文章旨在教大家如何配置arch中文和中文输入法和对时间的调整 第一步,就是把arch切换成中文 第二步,就是如何使用中文输入法 时间问题解决 我arch版本是 archlinux2024.3.29 X86-64 桌面环境是 KDE 6.0.3 !注意

    2024年04月08日
    浏览(59)
  • Ubuntu中文设置与安装中文输入法(超详细)

    点击界面右上角的倒三角符号,选择“Settings” 搜索“lagnguage” 点击“Manage Installed Languages”,选择“install” 耐心等待 下载完成后,选择“Install/Remove Languages” 勾选“Chinese(simplified)”并应用 耐心等待 下载完毕后,重新进入设置界面,修改相应设置,点击“Restart”重启

    2024年02月21日
    浏览(55)
  • Kali 安装中文输入法(超详细)

     1.进入管理员下的控制台。 2. 输入密码后点击“授权”。 3.在控制台内输入下面的命令。 4.敲击回车后会开始安装,这里输入“y”。 5.回车后会继续进行安装,安装完成后会自动停止。 6.输入下面的命令来安装google输入法。 7.敲击回车后开始进行安装,这里输入“y”。 8

    2024年02月02日
    浏览(49)
  • 记录--被中文输入法坑死了

    PM:在PC端做一个@功能吧,就是那种...。 我:你不用解释🤔我知道那个功能,监听 keydown 事件,然后 e.keycode === 50 ,那可太简单了。 那可太简单了,可太简单了,太简单了,简单了,单了,了......(掉进坑里的回声) 废弃的属性你就坚持用吧,一用一个不吱声。以后线上跑得

    2024年02月19日
    浏览(36)
  • Ubuntu22.04-添加中文输入法

    进入setting(设置)- 区域与语言 选项卡 进入“管理已安装的语言” 第一进入将提示“语言支持没有完整安装”,点击安装即可。安装过程会将为进行补充安装的语言进行下载安装。 设置中文,在“语言支持”对话框中点击“添加和删除语言”中选择中文并勾选,“应用”设

    2024年02月11日
    浏览(46)
  • Ubuntu16.04安装中文输入法

    1、使用Ubuntu图像界面配置好中文环境,并将最下面的\\\"系统键盘输入法:\\\"选择为IBus 关于具体的配置看这篇文章https://mp.csdn.net/mp_blog/creation/editor/128273330 最终配置结果如下:   2、上面只是配置中文环境,但不能进行中文输入,需要使用命令安装ibus输入法。 sudo apt-get install ib

    2024年02月13日
    浏览(48)
  • kali设置中文及安装拼音输入法

    输入命令: dpkg-reconfigure locales,这个命令需要root权限,所以可能会用到sudo来提升权限,命令输入完成后按下回车,出现下面的界面,一直按↓,找到en_US.UTF-8 UTF-8,选中这一项,按下空格键,取消该项前面的*,继续按↓ ,找到zh-CN.UTF-8,按下空格键,选上该项前面的星号(按空格

    2024年02月13日
    浏览(42)
  • 【Linux】Ubuntu安装搜狗中文输入法

    配置语言 设置 - 区域与语言 - 管理已安装的语言 - 添加汉语并置顶 - 输入法系统选择fcitx - 应用到整个系统 配置键盘布局 设置 - 键盘 - 输入源 - 只保留英语 安装搜狗输入法依赖 sudo apt -f install sudo apt install libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml sudo apt install libgsettings-qt1 安装搜

    2024年01月23日
    浏览(59)
  • Ubuntu下不能切换中文,qt creator无法输入中文,sogo输入法(详细步骤)

    目录: 1、解决ubuntu 不支持切换中文,并安装sogo输入法步骤; 2、解决Qt Creator不支持中文输入: 详细步骤: 一、解决ubuntu 不支持切换中文,并安装sogo输入法步骤: 1、如果在键盘输入法系统中,没有“fcitx”选项时,建议先打开终端手动安装 fcitx:sudo apt-get install fcitx 2、添

    2023年04月18日
    浏览(47)
  • LINUX中文输入法设置(CentOs7)

    一、中文界面设置中文输入法  1、鼠标点击【Applications】——【System Tools】——【Seetings】 2、点击【Region Language】,在点击右方的【+】 3、 在跳出的界面中点击【Chinese(China)】 4、点击【Chinese(Intelligent Pinyin)】,在点击右上方【Add】   5、设置中文输入法    按键【shift】切换

    2024年02月04日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包