🐀
Javascript でマウス&タッチ両対応なら pointer イベントを使おうよ、古いブラウザを見捨ててもよいならね
タイトルが言いたいことの10割。
とあるウェブアプリが、タッチパネル付きノートパソコンのトラックパッド操作で動作しなかったのでソースを見たところ、'ontouchstart' in document
でタッチ対応と判別したらtouchstart
/touchend
を利用、非対応ならmousedown
/mouseup
を利用、という処理をしていた。
最近のブラウザならpointerdown
/pointerup
を使えば、タッチ操作でも、マウス操作でも、タッチ対応デバイスのマウス操作でも対応できるのになぁ。
軽くググってみると mouse イベントと touch イベントをいかに同居させるか、というアプローチがかなり多いので、この記事で「pointer イベントという選択肢もあるよ」という情報を増やしておく。
Discussion
むしろドラッグ操作する場合は pointerevent ならsetPointerCapture() すれば要素を超えても安心みたいなのがある。