VirtualKeyboard

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

VirtualKeyboard 接口属于 VirtualKeyboard API,在具有屏幕虚拟键盘的设备上非常有用,例如平板电脑、手机或其他可能没有硬件键盘的设备。

VirtualKeyboard 接口使得可以通过降低视口高度来为虚拟键盘腾出空间,从而选择退出浏览器自动处理屏幕虚拟键盘的方式。您可以阻止浏览器改变视口大小,检测虚拟键盘的位置和大小——并据此调整网页布局——以及以编程方式显示或隐藏虚拟键盘。

您可以通过 navigator.virtualKeyboard 来访问 VirtualKeyboard 接口。

EventTarget VirtualKeyboard

实例属性

VirtualKeyboard 接口继承了其父接口 EventTarget 的属性。

VirtualKeyboard.boundingRect 只读 实验性

一个 DOMRect 对象,描述了虚拟键盘的几何形状。

VirtualKeyboard.overlaysContent 实验性

一个 Boolean 值,定义了浏览器是否应停止处理屏幕虚拟键盘。

实例方法

VirtualKeyboard 接口继承了其父接口 EventTarget 的方法。

VirtualKeyboard.show() 实验性

显示虚拟键盘。

VirtualKeyboard.hide() 实验性

隐藏虚拟键盘。

事件

geometrychange 实验性

当屏幕虚拟键盘的几何形状发生变化时触发,这会在虚拟键盘出现或消失时发生。

示例

以下示例演示了如何选择退出自动虚拟键盘行为,以及如何在网页中检测虚拟键盘的几何形状。

js
if ("virtualKeyboard" in navigator) {
  navigator.virtualKeyboard.overlaysContent = true;

  navigator.virtualKeyboard.addEventListener("geometrychange", (event) => {
    const { x, y, width, height } = event.target.boundingRect;
  });
}

规范

规范
VirtualKeyboard API
# the-virtualkeyboard-interface

浏览器兼容性

另见