スマートフォンのtouchendのpageX
あーーーー
JavaScript
jQuery(function($){
var t = $("#test"),s = $("#start"),m = $("#move"),e = $("#end");
t.on("touchstart",touchStartEvent);
t.on("touchmove",touchMoveEvent);
t.on("touchend",touchEndEvents);
s.html("start : " + 0);
m.html("move : " + 0);
e.html("end : " + 0);
function touchStartEvent(evt){
evt.preventDefault();
s.html("start : " + evt.originalEvent.touches[0].pageX);
}
function touchMoveEvent(evt){
evt.preventDefault();
m.html("move : " + evt.originalEvent.touches[0].pageX);
}
function touchEndEvents(evt){
evt.preventDefault();
e.html("end : " + evt.originalEvent.touches[0].pageX);
}
});
var t = $("#test"),s = $("#start"),m = $("#move"),e = $("#end");
t.on("touchstart",touchStartEvent);
t.on("touchmove",touchMoveEvent);
t.on("touchend",touchEndEvents);
s.html("start : " + 0);
m.html("move : " + 0);
e.html("end : " + 0);
function touchStartEvent(evt){
evt.preventDefault();
s.html("start : " + evt.originalEvent.touches[0].pageX);
}
function touchMoveEvent(evt){
evt.preventDefault();
m.html("move : " + evt.originalEvent.touches[0].pageX);
}
function touchEndEvents(evt){
evt.preventDefault();
e.html("end : " + evt.originalEvent.touches[0].pageX);
}
});
html
[touchend]だけ、数値が取れてない…
[touchend]のプロパティ見たら…pageXは「0」!
ゴニョゴニョとプロパティ値を探っていくと、[changedTouches]のlengthが「1」ってなってなってたから、中身を見てみると、あった、あったよ!pageX!
ってことで
JavaScript修正
jQuery(function($){
var t = $("#test"),s = $("#start"),m = $("#move"),e = $("#end");
t.on("touchstart",touchStartEvent);
t.on("touchmove",touchMoveEvent);
t.on("touchend",touchEndEvents);
s.html("start : " + 0);
m.html("move : " + 0);
e.html("end : " + 0);
function touchStartEvent(evt){
evt.preventDefault();
s.html("start : " + evt.originalEvent.touches[0].pageX);
}
function touchMoveEvent(evt){
evt.preventDefault();
m.html("move : " + evt.originalEvent.touches[0].pageX);
}
function touchEndEvents(evt){
evt.preventDefault();
e.html("end : " + evt.originalEvent.changedTouches[0].pageX); //ここを修正したのです。
}
});
var t = $("#test"),s = $("#start"),m = $("#move"),e = $("#end");
t.on("touchstart",touchStartEvent);
t.on("touchmove",touchMoveEvent);
t.on("touchend",touchEndEvents);
s.html("start : " + 0);
m.html("move : " + 0);
e.html("end : " + 0);
function touchStartEvent(evt){
evt.preventDefault();
s.html("start : " + evt.originalEvent.touches[0].pageX);
}
function touchMoveEvent(evt){
evt.preventDefault();
m.html("move : " + evt.originalEvent.touches[0].pageX);
}
function touchEndEvents(evt){
evt.preventDefault();
e.html("end : " + evt.originalEvent.changedTouches[0].pageX); //ここを修正したのです。
}
});
ああ、取れてる…ってことでした~
ちなみにjQueryなしの場合は
window.onload = function(){
var d = document,
t = d.getElementById("test"),
s = d.getElementById("start"),
m = d.getElementById("move"),
e = d.getElementById("end");
t.addEventListener("touchstart",touchStartEvent,false);
t.addEventListener("touchmove",touchMoveEvent,false);
t.addEventListener("touchend",touchEndEvents,false);
s.innerHTML = "start : " + 0;
m.innerHTML = "move : " + 0;
e.innerHTML = "end : " + 0;
function touchStartEvent(evt){
evt.preventDefault();
s.innerHTML = "start : " + evt.touches[0].pageX;
}
function touchMoveEvent(evt){
evt.preventDefault();
m.innerHTML = "move : " + evt.touches[0].pageX;
}
function touchEndEvents(evt){
evt.preventDefault();
e.innerHTML = "end : " + evt.changedTouches[0].pageX;
}
};
var d = document,
t = d.getElementById("test"),
s = d.getElementById("start"),
m = d.getElementById("move"),
e = d.getElementById("end");
t.addEventListener("touchstart",touchStartEvent,false);
t.addEventListener("touchmove",touchMoveEvent,false);
t.addEventListener("touchend",touchEndEvents,false);
s.innerHTML = "start : " + 0;
m.innerHTML = "move : " + 0;
e.innerHTML = "end : " + 0;
function touchStartEvent(evt){
evt.preventDefault();
s.innerHTML = "start : " + evt.touches[0].pageX;
}
function touchMoveEvent(evt){
evt.preventDefault();
m.innerHTML = "move : " + evt.touches[0].pageX;
}
function touchEndEvents(evt){
evt.preventDefault();
e.innerHTML = "end : " + evt.changedTouches[0].pageX;
}
};
若干eventの中身が違うのねん~