目指せ非プログラマー

もう何でもごじゃれ言語

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

で処理をした方がよさそうです。

 

めんどくさいですな。