Android JQuery focus()解决方法

时间:2012-11-01 12:11:55

标签: javascript android jquery html5

我正在开发一个HTML5移动应用程序(使用常规jQuery,而不是移动设备),它实现了一个出现在textarea下面的自定义自动完成列表。用户从列表中选择一个选项,单词自动完成,用户继续照常打字。

问题是用户点击文本框外部以从自动完成中选择项目,因此textarea会暂时失去焦点。由于在Android浏览器中取消激活focus(),我无法像往常那样立即重新聚焦并保留插入符号的最后位置。

是否有一种解决方法可以让我重新关注textarea,保持插入位置为常规blur()和focus()调用?

修改 潜在假设的来源:这里提到:https://stackoverflow.com/a/10243010/832607和这里: http://ambrusmartin.wordpress.com/2012/08/30/soft-keyboards-in-android-iphone-phonegap-applications-when-we-call-focus/(已经尝试过在链接中提到的解决方案)

1 个答案:

答案 0 :(得分:1)

相反重新聚焦textarea我建议尽量不要失去焦点。我在阻止mousedown上的默认操作时实现了这一点。

以下是jQuery,假设list是您的选项列表,所有选项都有listEl类:

list.on('mousedown', '.listEl', function(e) { 
  e.preventDefault(); 
});