首页 > 解决方案 > 在用户触摸屏幕之前,Safari 不允许应用程序专注于输入

问题描述

我有一个非常简单的网页,其中包含一个包含 1-10 个输入字段的表单。我主要使用jquery。我需要在您打开页面后立即关注第一个输入字段。我可以在大多数浏览器和机器上执行此操作,但是当我将应用程序拉到 IPAD 上时,如果事件(以前的“onload”)不是来自最终用户(如触摸),它会拒绝以编程方式专注于任何事情事件)。

我试图设置“自动对焦”属性,但这根本不起作用。

我试图以编程方式创建一个按钮,然后以编程方式单击它。我将焦点方法放在点击事件中,这不起作用。

当它是用户输入的结果时,焦点起作用。

$('输入').first().focus();

这是我试图开始工作的代码。它适用于除 IPAD 之外的所有设备。如果我将此操作绑定到“touchstart”事件,我知道它肯定可以在 IPAD 上运行,只是无法从任何非用户事件触发。这个想法是让输入准备好,而无需用户按下屏幕。

我不在乎交互式键盘是否打开,因为我使用外部扫描仪进行输入。我只需要集中输入字段,以便用户无需触摸屏幕即可接收输入。

苹果似乎实现了这个“功能”,以防止终端用户因键盘随机弹出而烦恼。

标签: javascriptjqueryipadmobilesafari

解决方案


推荐阅读