按下数字键如何检测输入法是否有候选词?

作者站长头像
站长
· 阅读数 21

场景: 1.只想输入0-9 所以拦截了非0-9的所有按键

但是如果用户使用中文输入法,按下一堆字母后,虽然按下的是数字。但是输入的是候选词。

这里有办法拦截吗?我只想输入0-9

几个难点:1、这里不考虑从输入后的内容去识别处理2、输入组件使用的是div + contentEditable 所以没有input 的 change input 事件,

回复
1个回答
avatar
test
2024-06-27
const observer = new MutationObserver(function(mutations) {
  mutations.forEach(function(mutation) {
    
  });
});

observer.observe(document.getElementById("myDiv"), { childList: true, characterData: true });

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容