読者です 読者をやめる 読者になる 読者になる

読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

タッチデバイスの判定

JavaScript

いつからでしょう?気がついたらデスクトップChromeがTouchEventをサポートしていました。
document.createEvent('TouchEvent')を実行しても例外を発生させてくれず、自作のアプリでマウスとタッチでイベントハンドラを切り替えていたものがデスクトップChromeで動かなくなっていました。

対策として判定条件を

touchDevice = (typeof window.ontouchstart) !== 'undefined';

に変えました。(実際には、window.Touch, document.createEvent('TouchEvent')との合わせ技)
window.ontouchstartはタッチデバイスではnull、デスクトップではundefinedなのでこれで判定できます。
さて、今回はいつまで使えることやら。