iPadのクリック、タッチイベントについて2 javascript
「iPadのクリック、タッチイベントについて javascript」で少し触れましたが新たに分かったことをメモっておきます。
この記事はユーザエージェントが
Mozilla/5.0 (iPad; CPU OS 6_1_3 like Max OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536.25
のブラウザで行った時のものです。
iPadはtouchイベントで処理すると動作がおかしくなることがあります。
touchendで他のアクティブウィンドウなどを出す処理を行った場合。
その後に発生するtouchendで動作がおかしくなります。
ま、不完全なブラウザなんでしょうか?
対策として、touchstart, touchmove, touchendの組み合わせで処理を行わずclickで処理を行う。
しかし、めんどくさいことにmousedownやmousemove, mouseupのイベント内での処理でも動作がおかしくなる時があります。
そのため、iPadでは
mousedown -> touchstart
mousemove -> touchmove
mouseup -> touchend
touchstart, touchmove, touchend -> click
で処理をした方がよさそうです。
めんどくさいですな。