使用jQuery Mobile和Phonegap在Galaxy S2上使用键盘输入错误

Man*_*tok 16 android jquery-mobile galaxy cordova

我们正在开发jQuery Mobile 1.0.1和Phonegap 1.4.1中的移动Web应用程序,并且遇到了galaxy s2上的键盘问题.

我们有一个滑出的菜单,其中包含搜索输入:

<input type="search" placeholder="Search..." name="search" id="menu_search" data-role="none" />
Run Code Online (Sandbox Code Playgroud)

当我们点击输入以使其获得焦点时,键盘会打开但不允许我们输入任何内容.我想这里的一个线索是它给我们一个普通的文本键盘而不是搜索键盘(它有一个放大镜作为回车键)

如果我们在菜单打开时关注输入:$("#menu_search").focus() - 当菜单显示时,搜索键盘打开,我们只要点击输入就可以搜索BUT键盘变为常规键盘而我们无法输入任何内容.

另一个线索是,当键入键盘时,自动预测可以工作,但是当点击正确的选项时,只有一个空格被添加到输入而没有其他字符.

我们在搜索输入上尝试了许多其他因素无济于事:

<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" />
Run Code Online (Sandbox Code Playgroud)

这一切都适用于运行2.2的HTC Desire以及运行CM7(Android 2.3.7)的愿望

我们甚至尝试将输入更改为textarea,但这几乎完全相同:(

我也尝试过:

$("#menu_search").live('focus',function(event){
   event.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

看看是否会阻止它改变键盘,但也没有运气.

然而,我们确实在应用程序的其他地方有另一个搜索输入工作正常,唯一的区别是另一个搜索位于"propper"页面中:data-role="page"并且菜单在所有其他页面之外并且在其自己的设置中隐藏原来.

请帮忙,即时哭泣!

Vin*_*kar 0

您是否尝试将 data-native-menu="false" 属性添加到搜索输入标记中。