LoginSignup
4
0

More than 1 year has passed since last update.

<svelte:window> <svelte:head> <svelte:body>について

Last updated at Posted at 2022-12-17

はじめに

SvelteKitにはいくつか特殊なHTML要素が用意されています。
今回はその中でも<svelte:window> <svelte:head> <svelte:body>に焦点をあてて解説したいと思います。

<svelte:window>

<button>タグにon:clickなどのイベントリスナーを追加できるように、
windowに対してもイベントリスナーを追加することができます。

例えばkeydownリスナーを追加し、押したkeyを表示してみます。

+page.svelte

<script lang="ts">
  let key = '';
</script>

<svelte:window on:keydown={(event) => key = event.key}></svelte:window>

<h1>あなたが押したのは { key } ですね!</h1>

window.gif

<svelte:head>

<svelte:head>を使うと、<head>内に要素を挿入することができます。

ページによってタイトルを変更してみます。

/hogehoge/+page.svelte
<svelte:head>
  <title>hogehoge</title>
</svelte:head>

image.png

/fugafuga/+page.svelte
<svelte:head>
  <title>fugafuga</title>
</svelte:head>

image.png

ちゃんと変わりましたね!

<svelte:body>

<svelte:body><svelte:window>と同じような使い方ができます。
bodyに対してイベントリスナーを設定したいときに便利です。

例えば、ダブルクリックをした時の処理を入れてみます。

<svelte:body on:dblclick={() => alert('ダブルクリックしましたね')}/>

image.png

ちゃんと表示されました。

このように特殊なエレメントも用意されているんですね~

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0