javascript – 通过显示焦点上的键盘来检测ipad怪癖

我编写了一个函数,一旦满足该字段的要求,它就会自动将用户推进到表单的下一个字段.

我的问题是,当在iPad中使用它时,而不是聚焦下一个字段,它只是隐藏键盘.

我已经放弃尝试解决这个问题,并且正在寻找一种方法来检测这个…试图成为一个最纯粹的,不使用浏览器检测,但没有看到替代方案.

任何人都有这方面的特征检测方法?

最佳答案 根据Apple在
Form and Document Events下的Safari Web内容指南,有
no event triggered specifically for the keyboard.这并不意味着它不是一个你可以利用的内部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);
    });
});​

这应该至少让你了解这个概念:)

点赞