跳至主要內容

<svelte:window>

<svelte:window onevent={handler} />
<svelte:window bind:prop={value} />

<svelte:window> 元素允許您將事件監聽器添加到 window 物件,而無需擔心在元件被銷毀時移除它們,或在伺服器端渲染時檢查 window 的存在。

此元素只能出現在元件的頂層,它不能位於區塊或元素內部。

<script>
	function handleKeydown(event) {
		alert(`pressed the ${event.key} key`);
	}
</script>

<svelte:window onkeydown={handleKeydown} />

您也可以綁定到以下屬性

  • innerWidth
  • innerHeight
  • outerWidth
  • outerHeight
  • scrollX
  • scrollY
  • onlinewindow.navigator.onLine 的別名
  • devicePixelRatio

除了 scrollXscrollY 之外,所有屬性都是唯讀的。

<svelte:window bind:scrollY={y} />

請注意,為了避免可訪問性問題,頁面不會滾動到初始值。只有後續對 scrollXscrollY 的綁定變數進行的更改才會導致滾動。如果您有在元件渲染時滾動的合理理由,請在 $effect 中調用 scrollTo()

在 GitHub 上編輯此頁面