Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当包装到iframe中时,touchstart处理程序会弄乱文本输入的焦点_Javascript_Ios_Iframe_Cordova_Touchstart - Fatal编程技术网

Javascript 当包装到iframe中时,touchstart处理程序会弄乱文本输入的焦点

Javascript 当包装到iframe中时,touchstart处理程序会弄乱文本输入的焦点,javascript,ios,iframe,cordova,touchstart,Javascript,Ios,Iframe,Cordova,Touchstart,我正在开发一个phonegap应用程序,它使用iframe嵌入一个已经对手机友好的Web应用程序。在webapp中有一个搜索功能,它聚焦于显示虚拟键盘的文本字段。到目前为止一切都很好 但是,我使用的库在文档(iframe内部)上注册了一个touchstart侦听器。因此,当虚拟键盘显示用户在文档中触摸时,键盘停止工作 从ipad(或XCode中的ipad模拟器…我已经在7.0.3上进行了测试)转到此处并按照说明操作: 有趣的是,如果你不把它包在一个iframe中,键盘就不会坏。走到这里:并按照指

我正在开发一个phonegap应用程序,它使用iframe嵌入一个已经对手机友好的Web应用程序。在webapp中有一个搜索功能,它聚焦于显示虚拟键盘的文本字段。到目前为止一切都很好

但是,我使用的库在文档(iframe内部)上注册了一个touchstart侦听器。因此,当虚拟键盘显示用户在文档中触摸时,键盘停止工作

从ipad(或XCode中的ipad模拟器…我已经在7.0.3上进行了测试)转到此处并按照说明操作:

有趣的是,如果你不把它包在一个iframe中,键盘就不会坏。走到这里:并按照指示,以确保它不会断裂

我一直在想这个问题,但不知道如何让它工作。作为参考,这些stack exchange帖子似乎是相关的,但我无法解决它们的问题:

谢谢你的建议


安迪

这似乎是一个未安装的iOS bug。唯一的修复方法是将输入从iframe移动到主文档中

长话短说:

Andy试图解决此问题,但最终失败(在模式中进行登录/设置对话框)。这几乎要了我的命,但也许这是一个很好的禅宗练习。以下是我们排除/尝试的内容:

  • iframe未聚焦/聚焦于不同的文档
  • 在设置焦点之前完全模糊所有内容
  • 设置范围等,而不是焦点
  • touchstart堆栈中的手动构建和触发事件
  • 检查事件是否多次激发
  • 查看css属性(如用户选择或触摸标注)是否有任何区别

所有这些最终的假设都是与iOS 7中的某些更新相关的WebKit“将输入滚动到视图”逻辑。

我想我发现了一些已报告的实例,遗憾的是还没有解决方案。