Я добавил жест к своему html сайту, используя этот код:
var touchsurface = document.getElementsByTagName('html')[0],
startX,
startY,
dist,
threshold = 150, //required min distance traveled to be considered swipe
allowedTime = 2000, // maximum time allowed to travel that distance
elapsedTime,
startTime;
touchsurface.addEventListener('touchstart', function(e){
var touchobj = e.changedTouches[0];
dist = 0;
startX = touchobj.pageX;
startY = touchobj.pageY;
startTime = new Date().getTime(); // record time when finger first makes contact with surface
e.preventDefault();
}, false);
touchsurface.addEventListener('touchmove', function(e){
e.preventDefault(); // prevent scrolling when inside DIV
}, false);
touchsurface.addEventListener('touchend', function(e){
var touchobj = e.changedTouches[0];
dist = touchobj.pageX - startX; // get total dist traveled by finger while in contact with surface
elapsedTime = new Date().getTime() - startTime // get time elapsed
// check that elapsed time is within specified, horizontal dist traveled >= threshold, and vertical dist traveled <= 100
if(elapsedTime <= allowedTime && Math.abs(dist) >= threshold && Math.abs(touchobj.pageY - startY) <= 100){
load(1);
}
}, false);
моя страница также содержит объект iframe, и слушатель не реагирует на прикосновения внутри iframe. Я хочу, чтобы он работал как внутри, так и снаружи iframe или только внутри iframe.