我的Cordova Ember应用程序(在Android 4.4.2上运行)中的输入框在触摸时无法获得焦点。在搜索路径中,由于没有其他元素(所有搜索结果都是链接),因此将autofocus
添加到输入框可以正常工作。
我正在登录页面上工作。有三个输入框。无论我做什么(下面更多内容),这些方框都没有专注于触摸(桌面上没有问题,因为我只需点击输入框)。
如何解决这个问题?
这些是我尝试过的东西:
Cordova 2.0
中解决了。我在3.4.1,但没有快乐。我读到了删除
-webkit-user-select: none;
会解决问题。它没有。我也试过更换“没有”。用' text',' all'。
我发现可以通过短时间触摸输入来将焦点带入输入框。这会调出设备的复制(剪切,粘贴)界面。但由于这不是用户期望的,我寻求一个合适的解决方案。
更新
我刚刚发现三星Galaxy S2(Jellybean)没有问题。但是在我的Moto G(KitKat)中不起作用。这是KitKat的问题吗?
解决
正如@Trotpof回答的那样,问题正是由于fastclick.js
。我把它删除了,一切都很完美。打开链接甚至没有任何明显的延迟。
但是我想知道为什么相同的代码在Jellybean和Kitkat中的工作方式不同。
以下是新Cordova应用程序中默认出现的[剩余] css(我删除了所有不必要的css):
*{
-webkit-tap-highlight-color: rgba(0,0,0,0); /* make transparent link selection, adjust last value opacity 0 to 1.0 */
}
body{
-webkit-touch-callout: none; /* prevent callout to copy image, etc when tap to hold */
-webkit-text-size-adjust: none; /* prevent webkit from resizing text to fit */
-webkit-user-select: none; /* prevent copy paste, to allow, change 'none' to 'text' */
}
答案 0 :(得分:4)
几天前我也有同样的担忧。问题是fastclick.js脚本。 我对这个问题失去了很多时间,所以我决定不再进一步调查,只是不使用这个脚本。
我希望这有帮助!