VirtualKeyboard:geometrychange 事件

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

當螢幕上的虛擬鍵盤在顯示和隱藏狀態之間切換時,會觸發 VirtualKeyboard 介面的 geometrychange 事件。

geometrychange 事件可用於檢測虛擬鍵盤的出現和消失,以便您可以適當地調整佈局。當使用 Virtual Keyboard API 來停用瀏覽器在虛擬鍵盤顯示和隱藏時自動調整視口大小時,這是必需的。

語法

在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。

js
addEventListener("geometrychange", (event) => { })

ongeometrychange = (event) => { }

事件型別

一個通用的 Event

示例

以下程式碼片段使用 geometrychange 事件來檢測虛擬鍵盤的幾何形狀何時發生變化,然後訪問 boundingRect 屬性來查詢虛擬鍵盤的大小和位置。

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

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

規範

規範
VirtualKeyboard API
# dom-virtualkeyboard-ongeometrychange

瀏覽器相容性

另見