我正在使用jQuery、jqTouch和PhoneGap编写一个应用程序,并遇到了一个持续存在的问题,即当用户使用软键盘上的“Go”按钮提交表单时会出现问题。
虽然可以通过使用$('#input_element_id').focus()
轻松使光标移动到适当的表单输入元素,但是橙色轮廓突出显示始终返回到表单上的最后一个输入元素。 (当使用表单提交按钮提交表单时,不会显示突出显示。)
我需要找到一种方法,要么完全禁用橙色轮廓突出显示,要么使其移动到与光标相同的输入元素。
到目前为止,我已尝试将以下内容添加到我的CSS中:
.class_id:focus {
outline: none;
}
这在Chrome上可以正常工作,但在模拟器或我的手机上却无法工作。我还尝试编辑jqTouch的theme.css
文件如下:
ul li input[type="text"] {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); and
-webkit-focus-ring-color: rgba(0, 0, 0, 0);
}
没有效果。
我还尝试了将以下内容添加到AndroidManifest.xml
文件中的每个选项:
android:imeOptions="actionNone"
android:imeOptions="actionSend|flagNoEnterAction"
android:imeOptions="actionGo|flagNoEnterAction"
这些都没有任何效果。
更新:我已经进行了更多的故障排除,目前为止发现:
outline属性仅在Chrome浏览器上有效,而不在Android浏览器上。
-webkit-tap-highlight-color属性实际上在Android浏览器上起作用,但在Chrome浏览器上不起作用。它禁用了聚焦和点击时的突出显示。
-webkit-focus-ring-color属性似乎在任何一个浏览器上都不起作用。