Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.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 iOS 8上的Safari-点击文本框打开键盘,然后点击它下面的任何东西_Javascript_Ios_Textbox_Focus_Mobile Safari - Fatal编程技术网

Javascript iOS 8上的Safari-点击文本框打开键盘,然后点击它下面的任何东西

Javascript iOS 8上的Safari-点击文本框打开键盘,然后点击它下面的任何东西,javascript,ios,textbox,focus,mobile-safari,Javascript,Ios,Textbox,Focus,Mobile Safari,我在Safari iOS8中遇到了一个奇怪的错误。在我们网站的登录页面上,如果您单击用户名文本框,键盘将显示,然后您的焦点将自动移动到密码文本框 在删除了大量代码并试图找出原因后,我终于能够创建一个简单的复制 基本上,您只需在父容器(如表单)上注册一个“touchstart”事件。然后使用javascript将文本框集中在表单中 一旦用户点击文本框,上面的错误就会发生,他们的点击会在页面向上移动后重复 设备还必须处于横向模式,以便在键盘出现时强制页面滚动 您可以在这里看到其中的一部分: 我的S

我在Safari iOS8中遇到了一个奇怪的错误。在我们网站的登录页面上,如果您单击用户名文本框,键盘将显示,然后您的焦点将自动移动到密码文本框

在删除了大量代码并试图找出原因后,我终于能够创建一个简单的复制

基本上,您只需在父容器(如表单)上注册一个“touchstart”事件。然后使用javascript将文本框集中在表单中

一旦用户点击文本框,上面的错误就会发生,他们的点击会在页面向上移动后重复

设备还必须处于横向模式,以便在键盘出现时强制页面滚动

您可以在这里看到其中的一部分:

我的Safari版本如下:

Mozilla/5.0 (iPad; CPU OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B410 Safari/600.1.4

我想我会把这一切都发布在这里,希望也有这个问题的人不必花两天的时间来弄清楚这一切。

我能够在我们自己的网站上重现这一点。同样的行为也会发生。那么,你是说不集中精力就能解决这个bug吗?最后,我们删除了touchstart事件处理程序,因为大多数移动浏览器似乎都会响应默认事件。您需要touchstart和focus调用来重现这种行为。如果你移除其中任何一个,那么一切都会按预期进行。是的,我不相信我找到了一种方法来触发iPad键盘打开,除非通过用户交互。你是对的,目前情况就是这样,请参阅
Mozilla/5.0 (iPad; CPU OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B410 Safari/600.1.4