JCL*_*JCL 5 html javascript android mobile-webkit
我在移动网站上的表单中有一系列选择元素.这些选择元素位于通过JS和CSS3变换处理的滚动窗格内部,因此首先获得触摸/单击/任何事件以在选择上进行注册就足够了.但是,我现在发现,仅在Android上,即使选择被点击,并且正在获得焦点 - 他们只是拒绝打开.我100%肯定选择正在获得他们的焦点事件(通过调试),所以老实说,我完全被难倒了.没有调试,选择上没有其他焦点/模糊事件.它适用于iPhone ......任何想法?
小智 2
我一直在用同样的问题把头撞在墙上。它似乎与 Android 2.1/2.2(也许是 2.0?)隔离。这些选择在 Android 1.5/1.6 中工作正常。我什至创建了一个简单的页面,只需将选择的显示样式从无更改为阻止,并且选择仍然无法一致打开。奇怪的是,有时在页面刷新后它可能会工作,然后在另一次刷新后它可能会再次损坏。正如您所说,焦点和单击/触摸事件确实从元素中触发,所以我不知道问题是什么。
有时,如果我缩放页面,我可以打开选择,但即使这样,所选的值也不会在页面上的选择元素中表示。
我向 Android 开发团队提交了一份错误报告,但即使在未来的版本中修复了该问题,该问题在 2.1/2.2 中仍然存在。
有人找到解决方法吗?
//---- 更新 ------
如果您使用 webkit-transition 来显示/隐藏元素,则将以下事件附加到元素似乎可以修复其中的选择:
.addEventListener("webkitTransitionEnd",函数(e){
this.innerHTML = this.innerHTML;
},错误的);
我不完全确定为什么会这样,但由于某种原因,将元素重新写入 DOM 似乎有所帮助。在 Android 2.1/2.2 模拟器、EVO4G 和 MyTouch 中进行了测试。