虚拟键盘:hide() 方法

实验性: 这是一个 实验性技术
在生产环境中使用此功能之前,请仔细查看 浏览器兼容性表

安全上下文: 此功能仅在 安全上下文(HTTPS)中可用,部分或所有 支持的浏览器 中均如此。

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

此方法仅在当前获得焦点的元素的 virtualKeyboardPolicy 属性设置为 manualinputmode 未设置为 none 时有效。

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

语法

js
hide()

参数

无。

返回值

未定义。

示例

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

html
<div contenteditable virtualkeyboardpolicy="manual" id="editor"></div>
<button id="edit-button">Edit</button>
<script>
  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;
    });
  }
</script>

规范

规范
虚拟键盘 API
# dom-virtualkeyboard-hide

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载

另请参阅