VirtualKeyboard

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

安全上下文: 此项功能仅在一些支持的浏览器安全上下文(HTTPS)中可用。

虚拟键盘 APIVirtualKeyboard 接口用于具有屏幕虚拟键盘的设备(如平板电脑、手机或其他没有物理键盘的设备)。

VirtualKeyboard 接口使你可以选择不使用浏览器自动处理屏幕虚拟键盘的方式——通过减少视口的高度来为虚拟键盘腾出空间。你可以阻止浏览器改变视口大小、检测虚拟键盘的位置和大小,并通过编程方式显示或隐藏虚拟键盘。

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

EventTarget VirtualKeyboard

实例属性

VirtualKeyboard 接口从其父接口 EventTarget 继承属性。

VirtualKeyboard.boundingRect 只读 实验性

描述虚拟键盘几何结构的 DOMRect

VirtualKeyboard.overlaysContent 实验性

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

实例方法

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;
  });
}

规范

Specification
VirtualKeyboard API
# the-virtualkeyboard-interface

浏览器兼容性

BCD tables only load in the browser

参见