LoginSignup
13
16

More than 5 years have passed since last update.

jQueryでのタッチイベントの座標(event.pageX)で取れない時に。

Posted at

jQueryを使っていると…。

$( document ).on( "mousemove", function( event ) {
  $( "#log" ).text( "pageX: " + event.pageX + ", pageY: " + event.pageY );
});

という感じでevent.pageXでブラウザもよしなに考慮して座標が取得できるハズ…。

しかし、一部Android端末で取得できなかったりする。

そんな時はe.originalEvent.touchesを見に行くと値がある。
だので、以下の様にしてみたりするといいかも。

function getPageX(e) {
  var pageX = 0;
  if (e.originalEvent.touches) {
    pageX = e.originalEvent.touches[0].pageX;
  } else {
    pageX = e.pageX;
  }   
  return pageX;
}
$( document ).on( "mousemove", function( event ) {
  var pageX = getPageX(event);
  $( "#log" ).text( "pageX: " + pageX );
});

引用:http://api.jquery.com/event.pagex/

13
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
16