対象をから離されたイベントを受け取るには、
pointerup
、
touchend
、
mouseup
イベント等を使用します。
リトルをタッチすると、右のリトルうさぎが跳ね上がるサンプルです。離すまで降りてきません。
押下中にマウスが移動すると
mouseup
が呼ばれないことがあるため、
mouseleave
でもリリース処理を行っています。
// イベント追加
if(window.PointerEvent)
{
node.addEventListener("pointerdown", onPress, false);
node.addEventListener("pointerup", onRelease, false);
node.addEventListener("pointerleave", onRelease, false);
}else
{
node.addEventListener("touchstart", onPress, false);
node.addEventListener("mousedown", onPress, false);
node.addEventListener("touchend", onRelease, false);
node.addEventListener("touchcancel", onRelease, false);
node.addEventListener("mouseup", onRelease, false);
node.addEventListener("mouseleave", onRelease, false);
}
function onPress(event)
{
if(event.cancelable){ event.preventDefault(); }// デフォルトの動作を無効
/*
押下時の処理
*/
}
function onRelease(event)
{
/*
離したときの処理
*/
}