这个问题以前已经在这里提过了 (What is the height of iPad's onscreen keyboard?),但我认为由于最近发布了 iOS7,这个问题需要重新提一下。
问题: 我有一个固定位置的模态框,出现在页面的右下角。它有一个单独的表单字段,在模态框打开时获得焦点。焦点触发软键盘的打开。问题是我想通过编程检测键盘高度来将模态框定位在键盘顶部,否则模态框的某些部分将被遮挡。
我尝试过的方法:
var scrollHere = currentWidget.offset().top;
//this scrolls the page to the top of the widget, but the keyboard is below.
setTimeout(function() {
$('html, body').scrollTop(scrollHere);
}, 0);
页面滚动到模态框顶部。这并不理想,因为有时表单字段会被键盘遮挡。我还尝试过弹出窗口内的窗口.innerHeight。 alert(window.innerHeight);
但是这个问题似乎无论键盘是否可见,都是相同的。
所以我的问题是,有人发现了在JavaScript中检测iOS7键盘高度的方法吗?可能会有解决方法吗? 不太可能,但这可能是iOS7 Safari中的一个错误吗?
任何帮助将不胜感激。谢谢。