document.elementFromPointの挙動
案件で初めてdocument.elementFromPointを使ってみたけど、若干ハマったのでメモ。 本来、このメソッドは「画面に見えている範囲で、引数に与えられた位置に存在する要素を返す」というものなのだけど、この位置指定がずれる現象が。
現象を確認したのは、Android4.2.1のGoogle Chrome。(Galaxy Nexus) このブラウザでだけ、なぜか位置指定がずれる。どれくらいのずれかを検証していたら、touchmoveのpageXとpageYの値にdevicePixelRatioを掛けてやると期待した要素が返ってきた。
推測だけど、イベント中の座標とelementFromPointで計算する座標系が違うんだと思う。(後者はpixel ratioを考慮した座標?)
まだ複数の端末で動作検証できていないので違うかもしれないけど、上記端末・ブラウザではとりあえず正常に動くことを確認。
▼参考 https://code.google.com/p/chromium/issues/detail?id=141840











