我编写了一个函数,一旦用户满足该字段的要求,它将自动将用户推进到表单的下一个字段。
我的问题是,当在 iPad 中使用它时,它不是专注于下一个字段,而是隐藏了键盘。
我已经放弃尝试解决这个问题,正在寻找一种方法来检测这个......试图成为最纯粹的人,不使用浏览器检测,但没有看到替代方案。
有人对此有特征检测方法吗?
我编写了一个函数,一旦用户满足该字段的要求,它将自动将用户推进到表单的下一个字段。
我的问题是,当在 iPad 中使用它时,它不是专注于下一个字段,而是隐藏了键盘。
我已经放弃尝试解决这个问题,正在寻找一种方法来检测这个......试图成为最纯粹的人,不使用浏览器检测,但没有看到替代方案。
有人对此有特征检测方法吗?
根据 Apple 的 Safari Web Content Guidelines 下的Form and Document Events,没有专门为键盘触发的事件。这并不意味着这不是您可以利用的内部 WebKit 事件......
这个问题的答案为嗅探键盘提供了一个非常新颖的解决方案:iPad Web App: Detect Virtual Keyboard Using JavaScript in Safari?
本质上它试图设置窗口的滚动位置;如果位置没有改变,则键盘存在。
这是代码的清理版本:
$(document).ready(function(){
$('input').focus(function(){
var scrollPosition = $(window).scrollTop();
$(window).scrollTop(10);
var isKeyboard = ($(window).scrollTop() > 0);
$(window).scrollTop(scrollPosition);
alert(isKeyboard);
});
});
那至少应该让您对这个概念有所了解:)