尝试查看是否曾找到针对 iOS 的解决方案,以防止以编程方式将焦点放在输入上?
https://jsfiddle.net/88bjy3rL/
$('div').on('touchstart', function(event) {
$('textarea').focus();
console.log('touchstart');
});
$("div").trigger('touchstart');
在上面的例子中,touchstart 事件仍然在 iOS 上触发,使用 Safari Web Inspector 输出 'touchstart',但是焦点没有放在 textarea 上。
单击测试词手动触发事件将在设置焦点时起作用(但是将 focus() 包装在 setTimeout 中不起作用)
是否有任何实际可行的解决方案来设置焦点以在无需用户交互的情况下打开键盘?
如果您使用的是 Cordova,您可以将以下内容添加到您的 config.xml。
<preference name="KeyboardDisplayRequiresUserAction" value="false" />
这允许键盘在设置焦点时自动打开输入。
关于javascript - 通过触发输入焦点打开 iOS 键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40362654/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) | Powered by Discuz! X3.4 |