1. TECH LIBRARY
  2. CSS
  3. CSSだけでaタグのリンクやJavaScriptのclickイベントを無効化する

CSSだけでaタグのリンクやJavaScriptのclickイベントを無効化する

2019.12.14

CSSだけでaタグのリンクやJavaScriptのclickイベントを無効化するの記事

aタグのdisable時などリンクを不可にしたい時ってありますよね。
以前はspanタグに置き換える方法で対応をしていましたが、
モダンブラウザ向けであればCSSだけでもリンク不可にすることが可能です!

無効化するコード

.btn {
  pointer-events: none;
}

要素自体のクリックイベントが走らなくなるので、aタグのリンク無効化だけでなく、JSのイベントも走らなくなります。タブのactive要素などでも活用できます!

お好みで user-select の指定もどうぞ

pointer-events: noneでボタンを押せないようにすると、代わりにボタン内のテキストが選択可になってしまいます。
この挙動がボタン感を損なってしまい、あまり好きではありません。。
ということで私の場合はuser-selectも合わせて設定します。

.btn {
  pointer-events: none;
  user-select: none;
}

※各ブラウザの対応状況に合わせてベンダープレフィックスを付与してください。

.btn {
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}

サンプル

下記のボタンを何度かクリックして確認してみてください。

user-select: none なし

user-select: none あり

カテゴリ「CSS」の新着記事

  1. TECH LIBRARY
  2. CSS
  3. CSSだけでaタグのリンクやJavaScriptのclickイベントを無効化する

カテゴリ

お気に入りリストに追加しました

お問い合わせを送信しました