$.fn.touchAll = function(option,callback){
this.bind("touchstart",function(e){
posXS = e.touches[0].screenX;
posYS = e.touches[0].screenY;
if(e.changedTouches.length>1 || e.originalEvent.touches.length>1){
$("#eventLog").append("시발1<br />");
callback = false;
}
}).bind("touchmove", function(e){
if(e.changedTouches.length>1 || e.originalEvent.touches.length>1){
$("#eventLog").append("시발2<br />");
callback = false;
}
}).bind("touchend",function(e){
posXE = e.changedTouches[0].screenX;
posYE = e.changedTouches[0].screenY;
return callback.call(this,touchAllProc(posXS,posXE,posYS,posYE,option.px));
});
}
function touchAllProc(xs,xe,ys,ye,px){
var gapX = Math.abs(xs-xe);
var gapY = Math.abs(ys-ye);
var result = {pos:"none",px:0};
if(px===undefined){px=defPosMin;}
if(px<gapX || px<gapY){
if(gapX > gapY){
if(xs>xe){
result.pos = "left";
result.px = gapX;
}else if(xs<xe){
result.pos = "right";
result.px = gapX;
}
}else if(gapX < gapY){
if(ys>ye){
result.pos = "up";
result.px = gapY;
}else if(ys<ye){
result.pos = "down";
result.px = gapY;
}
}
}
return result;
}
터치점이 2개이상일때 callback을 false로 잡아서 callback을 실행안하도록까진 됐습니다
근데!
한번 실행을 안하고 나면 계속 안하더라구요 저 2개이상일때 return false;를 줘도 못빠져나오고 touchend까지 돌구요...
callback을 touchstart에서 변수로 잡고 변수를 리턴해도 똑같구요... 미치겠습니다 도와주세여..