我遇到iOS上的问题后,iOS上键入到HTML的输入字段,我已经提出了一个捣鼓它:不能点击两次
如果事件侦听器添加用于任何触摸事件的文档(touchstart/touchmove/touchend),像这样:
function onTouch(e){};
document.addEventListener('touchstart', onTouch, false);
导致具有在iOS以下行为输入字段:
- 首先触摸:输入获得焦点,并且用户可以(已经到位的领域为重点)正确输入内容
- 后续亮点:打字不工作了
我遇到并在iPad和iPhone(模拟器和实际设备)上的iOS 5,5.1和6上测试此问题。
唯一的解决方法似乎被删除事件侦听器来恢复输入字段的正确的行为(或实际绝不添加监听器在所有):
document.removeEventListener('touchstart', onTouch);
我也注意到,如果有多个页面上的iframe,其中一个将侦听器添加到其文档,它也打破了其他iframe的输入字段。
小提琴在我的Android手机上运行正常。
任何想法为什么会发生这种情况?或者如何为触摸事件设置全球自定义事件处理程序,而不会中断iOS上的输入?
我们已经遇到了FastClick这个问题,它正在[追踪公开(https://github.com/ftlabs/fastclick/issues/51)。我还提交了一份[bug报告](http://openradar.appspot.com/radar?id=2527401)与苹果部分基于您的测试案例。 –
嘿,是的,这绝对是一个Safari iOS错误,很好的报告它。我仍然想知道这个问题这么久没有被人注意...... – BFil
即使通过放大/缩小来调整iframe窗口的大小,我也遇到了这个错误。 –