2013年7月23日火曜日

iPhoneやandroidのtouchイベントの座標 client page screenの違い

アンドロイドやiPhoneのタッチデバイスではtouchイベントというものがある。
タッチされた座標を取得するには、イベントオブジェクトのtouchesやchangedTouchesなどから
screenXやpageX   clientXで知ることができる。

それぞれの違いが分かるように、枠内でタッチされた座標を表示するページを作ってみた。
(スマートフォンでリンク先をいじってみれば一目瞭然)

【結論】
clientとscreenは画面右上からの位置です。スクロールしてもパネル上の同じ点を触れば値は同じ。
ただし、clientは画面をズームすればそれにあわせて変化する。
screenはズーム関係なくタッチパネル上の位置。

pageはページ左上からの位置、スクロールしてページ左上が見えなくなっていても、ページ左上からの座標を返す



0 件のコメント:

コメントを投稿