【问题标题】:How can I make the keyboard trigger resize events in mobile web browser on iOS?如何在 iOS 上的移动 Web 浏览器中使键盘触发调整事件大小?
【发布时间】:2014-12-29 06:53:51
【问题描述】:

我正在用 HTML5/Javascript 编写一个单页网络应用程序(基本上是一个 telnet 终端)。它大量使用文本输入,因此大多数时候软键盘在触摸设备上可见。

似乎在 iOS(最新 iOS 的 iPad)上显示软件键盘并不调整页面大小并且不会触发调整大小事件(在 Javascript 中),导致我的应用程序输出的一半是离屏。

有什么方法可以改变 iOS 上的这种默认行为(可能使用元标记等)还是我可以使用其他一些事件?我想在键盘显示/隐藏时接收调整大小或其他事件,从而改变视口大小。

【问题讨论】:

    标签: javascript jquery html ios mobile


    【解决方案1】:

    你试试 .focus() 怎么样?如果您的输入获得焦点,您可以触发调整大小:

    $('#input').focus(function() {
      //do resize
    
    }); 
    

    关于 .focus() 的更多信息 http://api.jquery.com/focus/

    【讨论】:

    • 感谢您的回答!这种方法的问题是我没有获得新的视觉视口大小(视口的原始高度 - 键盘高度)来调整我的页面大小,使其适合屏幕而不需要任何滚动。看来,在 Safari 中,软键盘默认情况下根本不会改变视觉视口,这就是我想要改变的。
    • 当输入获得焦点时,将整个页面向上移动怎么样?这可能适用于解决方法,或者我对您正在尝试做的事情有所误解。
    猜你喜欢
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-22
    • 2014-07-19
    • 2013-06-24
    • 1970-01-01
    相关资源
    最近更新 更多