在Javascript中精确模拟用户的键盘

时间:2012-10-24 20:45:15

标签: javascript android events keyboard trigger.io

一点上下文:我正在开发一个基于HTML5的移动应用程序,其自动完成功能因为setSelectionRange中的错误而在Android上中断:http://code.google.com/p/android/issues/detail?id=15245因此,我无法直接操作正常情况下,文本字段中的文本。为了解决这个问题,我计划手动触发几个关键事件来模拟用户在Android软键盘上按键。

我在Is it possible to simulate key press events programmatically?Firing a Keyboard Event in JavaScript中找到的所有解决方案只是在不实际创建任何文本输入的情况下触发事件。

有没有办法模拟整个按键事件,包括文本输入,使用javascript?

更新:修复(排序)

通过使用Trigger(我们正在使用的包装器)编写一个插件来手动触发本机级别的Android键盘事件,我解决了这个问题。它托管在这里:http://bit.ly/RiJqrM如果有其他人感兴趣的话。

又一次更新:

进一步的挫败感和随后的测试让我走了一圈,事实证明上面提到的android bug可能有点像红鲱鱼。我的插入行为奇怪的原因实际上可能是由于本机android自动完成的一些组合以及jQuery focus()在android(无耻的自我推销)上根本不起作用的事实:Android JQuery focus() workaround

1 个答案:

答案 0 :(得分:3)

没有。大多数浏览器不允许脚本完全模拟按键:您可以触发事件,但不会发生相关的浏览器行为(更新输入值,编辑可信元素的内容,移动插入符号等)。 / p>