Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   обработка движения пальца (https://javascript.ru/forum/events/79008-obrabotka-dvizheniya-palca.html)

WadimS 05.12.2019 06:59

обработка движения пальца
 
Впервые сталкиваюсь с JS на смартфонах...

Нужно отслеживать движение пальцем вправо/влево по сенсорному экрану для смены картинки на бакгроунде.

Пытался использовать
var initialPoint;
var finalPoint;
document.getElementsByTagName('body').addEventListener('touchstart', function(event) {
	event.preventDefault();
//	event.stopPropagation();
	initialPoint=event.changedTouches[0];
	alert('start hand on: '+initialPoint.pageX);
}, false);

document.getElementsByTagName('body').addEventListener('touchend', function(event) {
	event.preventDefault();
//	event.stopPropagation();
	finalPoint=event.changedTouches[0];
	alert('strt='+initialPoint.pageX+'\nstop hand on: '+initialPoint.pageX);
        if (finalPoint.pageX < initialPoint.pageX){
	     changeStory(-1);
        }else{
	      changeStory(+1);
       ];
};
}, false);

Нифига не отлавливает и алерт, зараза, ничо не кажет.

Как быть?

ksa 05.12.2019 07:20

Цитата:

Сообщение от WadimS
Нужно отслеживать движение пальцем вправо/влево по сенсорному экрану

Может поможет эта статейка...

WadimS 05.12.2019 08:14

ksa, разумеется, что с неё начал. Но вот что-то пошло не так...

рони 05.12.2019 08:55

WadimS,
может консоль, а не алерт?

laimas 05.12.2019 09:24

Цитата:

Сообщение от ksa
Может поможет эта статейка...

Как бы эти события заставить работать на десктопе. У FF отладчик имеет режим адаптивного дизайна, в котором можно выбрать эмуляцию сенсорного экрана, которая нихрена не работает.

У меня беспроводной комплект клава/мышь и мышь конечно кушает, и когда скушала всю энергию, остаемся без рук. Выдрал с убитого ноута тачпад, сделал его настольным, есть к нему и дрова с приличными настройками и возможностями, а не просто водить курсор по экрану. Подцепить бы это в системе так, чтобы его события и были событиями сенсорного экрана для JS.

рони 05.12.2019 10:42

Цитата:

Сообщение от WadimS
ничо не кажет.

Цитата:

Сообщение от WadimS
getElementsByTagName('body').addEventListener

чего-то тут не хватает!!!

Rise 05.12.2019 11:03

Цитата:

Сообщение от laimas
эмуляцию сенсорного экрана, которая нихрена не работает.

Да, что-то DevTools в Firefox совсем сдулся, в Chrome уже можно разные сенсоры эмулировать, типа геолокации и ориентации...

laimas 05.12.2019 11:21

Цитата:

Сообщение от Rise
что-то DevTools в Firefox совсем сдулся

Они в упорном поиске :) А вот бы не эмуляцию подцепить, а железо. У него есть жесты различные, и они работают в браузере, например можно листать слайды движением указателя по/против часовой стрелки. Я могу и драйвер написать, который в системе будет перехватывать события, но как события системы передать в браузер, чтобы они в js работали, этого не знаю.

WadimS 05.12.2019 17:10

рони, подскажите, чего "не хватает"? А то у меня уже "глаз замылился"...

рони 05.12.2019 17:27

WadimS,
getElements получить элементы
Цитата:

у списка элементов нет метода click,
из списка элементов выберите нужный!
document.getElementsByTagName('body')[0].addEventListener
document.body.addEventListener
document.querySelector('body').addEventListener
document.querySelectorAll('body')[0].addEventListener


Часовой пояс GMT +3, время: 09:16.