05.12.2019, 06:59
|
Аспирант
|
|
Регистрация: 12.11.2016
Сообщений: 80
|
|
обработка движения пальца
Впервые сталкиваюсь с 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);
Нифига не отлавливает и алерт, зараза, ничо не кажет.
Как быть?
Последний раз редактировалось WadimS, 05.12.2019 в 07:02.
|
|
05.12.2019, 07:20
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,123
|
|
Сообщение от WadimS
|
Нужно отслеживать движение пальцем вправо/влево по сенсорному экрану
|
Может поможет эта статейка...
|
|
05.12.2019, 08:14
|
Аспирант
|
|
Регистрация: 12.11.2016
Сообщений: 80
|
|
ksa, разумеется, что с неё начал. Но вот что-то пошло не так...
|
|
05.12.2019, 08:55
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,068
|
|
WadimS,
может консоль, а не алерт?
|
|
05.12.2019, 09:24
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от ksa
|
Может поможет эта статейка...
|
Как бы эти события заставить работать на десктопе. У FF отладчик имеет режим адаптивного дизайна, в котором можно выбрать эмуляцию сенсорного экрана, которая нихрена не работает.
У меня беспроводной комплект клава/мышь и мышь конечно кушает, и когда скушала всю энергию, остаемся без рук. Выдрал с убитого ноута тачпад, сделал его настольным, есть к нему и дрова с приличными настройками и возможностями, а не просто водить курсор по экрану. Подцепить бы это в системе так, чтобы его события и были событиями сенсорного экрана для JS.
|
|
05.12.2019, 10:42
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,068
|
|
Сообщение от WadimS
|
ничо не кажет.
|
Сообщение от WadimS
|
getElementsByTagName('body').addEventListener
|
чего-то тут не хватает!!!
|
|
05.12.2019, 11:03
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,662
|
|
Сообщение от laimas
|
эмуляцию сенсорного экрана, которая нихрена не работает.
|
Да, что-то DevTools в Firefox совсем сдулся, в Chrome уже можно разные сенсоры эмулировать, типа геолокации и ориентации...
|
|
05.12.2019, 11:21
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Rise
|
что-то DevTools в Firefox совсем сдулся
|
Они в упорном поиске А вот бы не эмуляцию подцепить, а железо. У него есть жесты различные, и они работают в браузере, например можно листать слайды движением указателя по/против часовой стрелки. Я могу и драйвер написать, который в системе будет перехватывать события, но как события системы передать в браузер, чтобы они в js работали, этого не знаю.
|
|
05.12.2019, 17:10
|
Аспирант
|
|
Регистрация: 12.11.2016
Сообщений: 80
|
|
рони, подскажите, чего "не хватает"? А то у меня уже "глаз замылился"...
|
|
05.12.2019, 17:27
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,068
|
|
WadimS,
getElement s получить элемент ы
Цитата:
|
у списка элементов нет метода click,
из списка элементов выберите нужный!
|
document.getElementsByTagName('body')[0].addEventListener
document.body.addEventListener
document.querySelector('body').addEventListener
document.querySelectorAll('body')[0].addEventListener
Последний раз редактировалось рони, 14.12.2019 в 18:33.
|
|
|
|