通过在焦点上显示键盘来检测ipad怪癖

时间:2012-06-26 20:38:59

标签: javascript ipad html5 html-form modernizr

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

我的问题是,在iPad中使用它时,不是只关注下一个字段,而是隐藏键盘。

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

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

1 个答案:

答案 0 :(得分:2)

根据Apple在Form and Document Events下的Safari网页内容指南,有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);
    });
});​

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