VirtualKeyboard: hide() 方法

可用性有限

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

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

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

hide() 方法是 VirtualKeyboard 接口的一个方法,用于以编程方式隐藏屏幕上的虚拟键盘。当页面需要使用 VirtualKeyboard API 实现自己的虚拟键盘逻辑时,此方法非常有用。

此方法仅在当前聚焦元素的 virtualKeyboardPolicy 属性设置为 manual 并且 inputmode 不设置为 none 时才有效。

hide() 方法始终返回 undefined,并触发一个 geometrychange 事件。

语法

js
hide()

参数

无。

返回值

Undefined。

示例

下面的代码片段展示了如何使用 virtualkeyboardpolicy 属性来阻止浏览器在单击或轻触时显示虚拟键盘。该代码还使用 navigator.virtualKeyboard.show()navigator.virtualKeyboard.hide() 方法在按钮被单击时显示和隐藏虚拟键盘。

html
<div contenteditable virtualkeyboardpolicy="manual" id="editor"></div>
<button id="edit-button">Edit</button>
js
if ("virtualKeyboard" in navigator) {
  const editor = document.getElementById("editor");
  const editButton = document.getElementById("edit-button");
  let isEditing = false;

  editButton.addEventListener("click", () => {
    if (isEditing) {
      navigator.virtualKeyboard.hide();
      editButton.textContent = "Edit";
    } else {
      editor.focus();
      navigator.virtualKeyboard.show();
      editButton.textContent = "Save changes";
    }

    isEditing = !isEditing;
  });
}

规范

规范
VirtualKeyboard API
# dom-virtualkeyboard-hide

浏览器兼容性

另见