Наступил на те же грабли. С Mouse всё прекрасно работает, с Touch - нет. Начал поэтапно выводить alert'ом на экран значения. Сами события touchstart и touchend работают. Затем попробовал вывести event.screenX и получил Undefined. Оказывается, конструкция event.screenX не совсем то что нужно для Touch. Порылся в различный статьях. Обнаружил три свойства: touches, targetTouches, changedTouches. Сделал так:
для touchstart:
touchstartX = event.targetTouches[0].screenX;
для touchend:
touchendX = event.changedTouches[0].screenX;
Ну для Y соответственно.