3

我正在开发一个 HTML5 移动应用程序(使用常规 jQuery,而不是移动应用程序),它实现了一个显示在文本区域下方的自定义自动完成列表。用户从列表中选择一个选项,单词自动完成,用户继续像往常一样输入。

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

是否有一种解决方法可以让我重新关注文本区域,像常规的 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/(已经尝试过链接中提到的解决方案)

4

1 回答 1

1

Instead re-focusing the textarea I'd recommend trying to not lose the focus in the first place. I'm achieving this when preventing the default action on mousedown.

Here is the jQuery, assuming list is your list of options and all options have listEl class:

list.on('mousedown', '.listEl', function(e) { 
  e.preventDefault(); 
});
于 2012-11-06T07:59:13.267 回答