ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

输入法导致input内容错误

2021-10-28 09:04:32  阅读:160  来源: 互联网

标签:输入法 浏览器 错误 Chrome 模式 ime input


解决输入法的ime模式情况下,decimal添加千分符时额外触发一次onChange事件导致的重复录入问题
【问题原因】:系统自带输入法的中文模式下输入内容后产生逗号(千分符)时,额外触发一次输入事件,导致重复录入问题
【复现必要条件】: 1.输入法:系统自带输入法(搜狗输入法的中文模式就没问题) 2.模式:中文输入模式(英文模式下没问题) 3.浏览器:Chrome(firfox火狐浏览器没问题,其他浏览器不清楚)
【解决方案】分3个方案: 1.设置css的ime-mode: 'disabled',用来禁用ime-mode,已经从css标准废弃,对Chrome无效,对其他浏览器可能有效 2.设置input属性type='tel',针对Chrome做的处理,在ime模式(中文)下,光标键入后会自动切换为非ime模式(英文),但用户还能够切换回ime模式。故此方案不完善 3.修改antd的rc-input-number库代码,在onChange事件处理时做条件判定,仅当ime模式下的输入的二次触发事件进行截获并抛弃
尽管有可能仅靠方案3即可解决问题,但由于不能确保逻辑完备,故先由方案1,2来尽量避免ime模式,方案3来处理ime模式下的逻辑

标签:输入法,浏览器,错误,Chrome,模式,ime,input
来源: https://blog.csdn.net/weixin_48192626/article/details/120967094

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有