Webアプリを作っていたときに、Pointerイベントのpointermove
がうまく動かなかったので、その時の原因と解決方法を紹介します。
環境
Windows11のタブレットPCで操作したとき(スマホでは未確認)
ブラウザはMicrosoft Edge
pointermoveはaddEventListenerでやってました
原因
タッチでスワイプ操作すると、ページをスクロールする操作になってしまい、pointermove
が反応しなくなってしまうのが原因でした。
(CSSでoverflow: hidden
を使っていたので気づかなかった)
解決方法
CSSでtouch-action
を使って、要素をスワイプしてもスクロールする操作にならないようにします。
css
{
touch-action: none;
/*これで、この要素をスワイプしてもスクロールの操作にならなくなります*/
}
参考サイト