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

瀏覽器相容性

另見