javascript - Google 键盘剪贴板不会触发粘贴事件

标签 javascript events keyboard-events gboard

我正在使用多输入组件来捕获 MFA 代码。想想六个相同的框,当您键入时,它会移动到下一个框,并在完成时自动提交。
我们通过从一开始就一次填写一个代码来独特地处理粘贴逻辑,这非常有效,并且可以让用户粘贴到任何输入字段中。
问题是,当使用谷歌键盘(GBoard - Pixl 手机原生)时 - 剪贴板功能似乎不会触发实际粘贴,而是尝试触发某种 onChange 事件或一系列 onChange 事件。
因此,例如,如果您的剪贴板中有 123456 并且您按下剪贴板按钮,则更改处理程序会以“1”而不是“123456”的 onPaste 触发。
我想知道是否有人遇到过类似的问题以及您是如何解决的。我已经查看了 navigator.clipboard 路线 - 但这需要提示用户授予权限,并且我仍然需要唯一标识用户键盘,因为这会触发正常的复制粘贴(正常工作)

最佳答案

我的同事找到了一个解决方案,使特定的 handleChange 行为等于 e.target.value.length 时的 handlePaste 行为。等于 codeLength(在这种情况下表示来自 gBoard 的粘贴)。希望这对可能遇到此问题的其他人有所帮助。

关于javascript - Google 键盘剪贴板不会触发粘贴事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70452313/

相关文章:

javascript - Tinymce 为自定义样式添加快捷方式

iphone - 我如何从 iphone 应用程序获取所有日历及其事件?

python - 有没有办法将 KeyboardInterrupt 发送到 Sublime Text 中正在运行的 Python 脚本?

javascript - iPad、JavaScript 字符代码和 shiftKey

javascript - Jquery 更改触发器过于频繁

javascript - <ul> 显示行内 block 不工作

javascript - jQuery addClass 似乎无法在 Internet Explorer 中运行

javascript - Bootstrap 委托(delegate)弹出内容回调触发两次

javascript - 为什么 Firefox 开发者控制台引用的是 script.js?

wpf - 相当于 WPF 中的 keypreview 属性