ugrás a tartalomhoz

Touch esemény

deejayy · 2012. Nov. 20. (K), 10.55
Helo,

egy hasonló dolgot próbáltam létrehozni, mint ez (horizontal dragscroll):

http://deejayy.hu/share/dragscroll/

... de mobilra (cyanogen 7, stock browser, de dolphinnal is probáltam).

Addig meg is van, hogy bebindelem a touchstart/move/end eseményeket jQueryben, de nem tudom lekérdezni a pozíciót.

$(akarmi).on('touchstart', function (event) {
  event.touches; // ez tartalmazná az érinteseket, akár többet is, undefined
  event.pageX; // mousedown-nál szépen visszaadja a koordinátát, itt undefined
  event.clientX; // valami touch libben láttam ezt a propertyt, szintén undefined
});
Rosszul állok hozzá? Máshogy kellene a touch esetén a mozgást detektálni?
Van esetleg valami lib, amiből ki tudom lesni a módszert?
 
1

function cancelTouch() {

Poetro · 2012. Nov. 20. (K), 11.22
function cancelTouch() {
  this.removeEventListener('touchmove', onTouchMove);
  startX = null;
  isMoving = false;
}
 
function onTouchMove(e) {
  if(config.preventDefaultEvents) {
    e.preventDefault();
  }
  if(isMoving) {
    var x = e.touches[0].pageX;
    var y = e.touches[0].pageY;
    var dx = startX - x;
    var dy = startY - y;
    if(Math.abs(dx) >= config.min_move_x) {
      cancelTouch();
      if(dx > 0) {
        config.wipeLeft();
      }
      else {
        config.wipeRight();
      }
     }
     else if(Math.abs(dy) >= config.min_move_y) {
      cancelTouch();
      if(dy > 0) {
        config.wipeDown();
      }
      else {
        config.wipeUp();
      }
    }
  }
}

function onTouchStart(e) {
  if (e.touches.length == 1) {
    startX = e.touches[0].pageX;
    startY = e.touches[0].pageY;
    isMoving = true;
    this.addEventListener('touchmove', onTouchMove, false);
  }
}
if ('ontouchstart' in document.documentElement) {
  this.addEventListener('touchstart', onTouchStart, false);
}
Forrás

Persze biztosan vannak jobbak, kidolgozottabbak, de szerintem ebből már érthető. Fontos, hogy mivel a dolog multitouch ezért vannak az események tömbbe gyűjtve.
2

Óh, szivat a jQuery, tök

deejayy · 2012. Nov. 20. (K), 14.05
Óh, szivat a jQuery, tök örülök :D

És köszönöm az irányba állítást :)