我们正在galaxy Mobile1.0.1和jQuery 1.4.1中开发一个移动web应用程序,但在galaxy s2上遇到了键盘问题。
我们有一个滑出的菜单,其中包含一个搜索输入:
<input type="search" placeholder="Search..." name="search" id="menu_search" data-role="none" />
当我们轻敲输入以使其获得焦点时,键盘将打开,但不允许我们键入任何内容。我猜这里的一个线索是它给了我们一个常规的文本键盘,而不是搜索键盘(它有一个放大镜作为enter键)
如果我们在菜单打开时聚焦输入:$("#menu_search").focus()
-当菜单显示时,搜索键盘是打开的,我们可以搜索,但一旦我们轻敲输入,键盘就会变成常规键盘,我们无法键入任何内容。
另一个线索是,当在键盘上打字时,自动预测是有效的,但当点击正确的选项时,只会在输入中添加一个空格,而其他字符都不会添加。
我们已经在搜索输入上尝试了许多其他属性,但都无济于事:
<input type="search" placeholder="Search..." name="search" id="menu_search" value="" data-role="none" autocomplete="off" autocorrect="off" autocapitalization="off" role="textbox" aria-autocomplete="list" aria-haspopup="true" style="-webkit-appearance:searchfield;" class="ui-autocomplete-input" />
这一切在运行2.2的HTC Desire和运行CM7 (Android 2.3.7)的desire上都运行得很好。
我们甚至尝试将输入更改为文本区域,但这做了几乎相同的事情:(
我也试过了:
$("#menu_search").live('focus',function(event){
event.preventDefault();
});
看看这是否会阻止它更换键盘,但也不走运。
然而,我们确实在应用程序中的其他地方有另一个搜索输入,它工作得很好,唯一的区别是另一个搜索是在一个“合适的”页面中:data-role="page"
,菜单在所有其他页面之外,并且在它自己的初始设置为隐藏。
请帮帮忙,我在哭血自动取款机!
发布于 2012-04-16 15:42:31
你可能有过
-webkit-user-select: none;
在你的CSS中的某处。如果您为输入启用文本选择
input, textarea { -webkit-user-select: text; }
它又能工作了!
发布于 2012-03-12 15:26:57
您是否尝试将data-native-menu="false“属性添加到搜索输入标记中。
发布于 2012-08-09 04:53:14
如果你仍然坚持这一点,试着更新到phonegap 2.0。它修复了一些输入问题。
https://stackoverflow.com/questions/9248109
复制相似问题