MDUI文件
複製 llms.txt 連結複製 llms-full.txt 連結以 Markdown 格式檢視此頁與 ChatGPT 討論此頁內容與 ChatGPT 討論專案完整文件
預設顏色
自選顏色
從桌布擷取顏色
請選擇一張桌布
開發指南
AI 輔助開發
樣式
與框架整合
元件
函式
jq 工具庫 dialog alert confirm prompt snackbar getTheme setTheme getColorFromImage setColorScheme removeColorScheme loadLocale setLocale getLocale throttle observeResize breakpoint
獨立程式庫

observeResize

observeResize 函式用來監聽元素尺寸的變化,當尺寸發生變化時,會執行指定的回呼函式。

該函式使用 ResizeObserver 實作,但採用了單例模式,因此效能更佳。

使用方式

按需引入函式:

import { observeResize } from 'mdui/functions/observeResize.js';

使用範例:

// 監聽 document.body 的尺寸變化
const observer = observeResize(document.body, function (entry, observer) {
  // 此時 document.body 的尺寸發生了變化,可透過 entry 取得新的尺寸
  console.log(entry);

  // 可呼叫該方法取消監聽
  observer.unobserve();
});

// 也可以呼叫函式回傳值的 unobserve 方法取消監聽
observer.unobserve();

API

observeResize(target: string | HTMLElement | JQ<HTMLElement>, callback: Callback): ObserveResize

target 參數可以是 CSS 選擇器、DOM 元素、或 JQ 物件

Callback

(entry: ResizeObserverEntry, observer: ObserveResize) => void

在回呼函式中,this 指向 ObserveResize

ObserveResize

{
  unobserve: () => void;
}
本頁目錄