電話番号をタップしたら電話できるようになる
1 |
<a href="tel:0000000000">0000000000</a> |
これですが、そのままだとPCでもクリックできちゃう。
実はSkypeとか入れてたら普通に電話できるから別にクリックできてもいいんだけど、あんまりスタンダードではないので、基本はクリックできないほうがいい。
そんなとき便利なのが、
pointer-events: none;
というプロパティ。これはクリックイベントを無効化にするという奇跡のプロパティで、これを知っていると役に立つ場面が多々ある。
というわけで、スマホ以外では電話番号はタップしても何も起こらないようにしてやればいい。
1 2 3 4 5 |
@media screen and (min-width: 751px){ .telLink { pointer-events: none; } } |
1 |
<a href="tel:0000000000" class="telLink">0000000000</a> |
telLinkというclass名つけるだけでいけるので、再利用性抜群です。
メディアクエリじゃなくてちゃんとデバイスで判別したい!という場合はjQueryを使いましょう
1 2 3 |
.is-eventNone { pointer-events: none; } |
1 2 3 4 5 |
$(function(){ if(!navigator.userAgent.match(/(iPhone|iPad|iPod|Android)/)){ $('.telLink').addClass('is-eventNone'); } }); |
1冊ですべて身につくHTML & CSSとWebデザイン入門講座
コメント
$(‘.telLink’).addClass(‘.is-eventNone’);
の
‘.is-eventNone’ → ‘is-eventNone’
ほんとですね!ご指摘ありがとうございます