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

Mic*_*rsh 7 javascript keyboard events android trigger.io

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

我找到的所有解决方案是否可以通过编程方式模拟按键事件?并且在JavaScript中触发键盘事件只是触发事件而不实际创建任何文本输入.

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

更新:修复(有点)

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

另一个更新:

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

Tim*_*own 3

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