windowsタブレットはontouch関数が存在する

Author:
windows

なんか他社のサービスでクリックイベントが効かないバグがありまして。
Web系のエンジニアである自分はつい調べてしまったのです。
で、その結果驚くべきことが。
どうやらontouchstartイベントが原因でおかしくなっているっぽいんですよ。

当然のことながら、MacBookはタッチスクリーンじゃないからontouch系関数なんてありません。
if (“ontouchstart” in window)とかif文を用意したら中には入ってきません。
が、SurfaceBookとかwindowsタブレットはタッチスクリーンなので、ontouch系関数が用意されているのです。
だからif (“ontouchstart” in window)とかやったら中に入ってきてしまいます。

ひえー、これは気づきにくいバグだ。
もちろんクリックでontouchイベントハンドラーが呼ばれることは無いのですが。

クロスブラウザっていう問題はWebやっている人なら一度や二度はぶつかったバグでしょう。
が、ハード的問題ってのはこれは気づかないですよ。
みんなドヤ顔でMacBook使ってWeb開発してますからねえ。
自分はやっぱりWindowsが好きだし、このSurfaceBookも使いやすいから、だから気づけた。
色々な偶然が積み重なった結果ではあるもののこれは驚いたなあ。

ってことで、動作検証にはIE、Chrome、FireFox、safari、Edgeあたりでやってる会社がほとんどだと思うのですが、
タッチパネル付きのwindowsとタッチパネル無しのwindowsの違いが存在するってのを忘れないように。
いやーそれにしてもびっくりした。

Share on Facebook
Pocket