javascript - 在用户触摸屏幕之前,Safari 不允许应用程序专注于输入
问题描述
我有一个非常简单的网页,其中包含一个包含 1-10 个输入字段的表单。我主要使用jquery。我需要在您打开页面后立即关注第一个输入字段。我可以在大多数浏览器和机器上执行此操作,但是当我将应用程序拉到 IPAD 上时,如果事件(以前的“onload”)不是来自最终用户(如触摸),它会拒绝以编程方式专注于任何事情事件)。
我试图设置“自动对焦”属性,但这根本不起作用。
我试图以编程方式创建一个按钮,然后以编程方式单击它。我将焦点方法放在点击事件中,这不起作用。
当它是用户输入的结果时,焦点起作用。
$('输入').first().focus();
这是我试图开始工作的代码。它适用于除 IPAD 之外的所有设备。如果我将此操作绑定到“touchstart”事件,我知道它肯定可以在 IPAD 上运行,只是无法从任何非用户事件触发。这个想法是让输入准备好,而无需用户按下屏幕。
我不在乎交互式键盘是否打开,因为我使用外部扫描仪进行输入。我只需要集中输入字段,以便用户无需触摸屏幕即可接收输入。
苹果似乎实现了这个“功能”,以防止终端用户因键盘随机弹出而烦恼。
解决方案
推荐阅读
- sql - 如何在 Access 中选择两个日期之间的记录?
- java - 字谜 - 我怎样才能通过以下两个测试用例
- laravel - 如何将cookie从后端(laravel)发送到前端?
- python - 如何在不使用 REGEX 的情况下删除具有特定模式的字符串?
- java - 如何将二维阵列板转换为等距板
- clang - clang 7.0.0 windows 不包括 LLDB 吗?
- android - 无法使用 fopen() 打开文件。fprintf 在 android ndk 中崩溃
- php - 如何从输出流访问 php 中的 json?
- angular - Angular - 带有回调的承诺
- vue.js - 何时使用
对比