本記事では、CSSでクリックイベント・タッチイベントを無効化する方法について解説しています。
HTML/CSSの学習におすすめ書籍
1冊ですべて身につくHTML&CSSとWebデザイン入門講座

メリット
- HTMLとCSSの基本が体系的に学べる
- Webデザインの基本が学べる
- 1つのWebサイトを作りながら学べる


Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!



初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード


メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)


目次
pointer-eventsプロパティ
クリックイベント・タッチイベントを無効化する方法はとても簡単で、無効化したい要素のCSSに「pointer-events: none」を指定するだけです。
.sample{
pointer-events: none;
}



どのような状況で、pointer-events:noneを使用しますか?



使用頻度は低いですが、一部のナビゲーションリンクを無効化したり、ユーザーに画像を保存させたくない時などに使うよ!
実践:クリックイベント・タッチイベントを無効化する
実際に、下記のサンプルコードを使用してクリックイベント・タッチイベントを無効化できるか確認しましょう。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="style.css" />
</head>
<body>
<header class="header">
<nav class="nav">
<ul class="nav__link">
<li class="nav__link--item"><a href="#">HOME</a></li>
<li class="nav__link--item"><a href="#">ABOUT</a></li>
<li class="nav__link--item"><a href="#">Q&A</a></li>
<li class="nav__link--item"><a href="#">CONTACT</a></li>
</ul>
</nav>
</header>
</body>
</html>
.nav__link {
display: flex;
justify-content: space-around;
}
.nav__link--item {
list-style: none;
}
.nav__link--item:last-of-type {
pointer-events: none;
}





CONTACTにpointer-events: none;を指定しているので、マウスカーソルを載せてもポインターにならずクリック・タッチしても何も変化が起きないことが確認できます!