Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.02.2020, 18:21
Интересующийся
Отправить личное сообщение для darktowerk56c Посмотреть профиль Найти все сообщения от darktowerk56c
 
Регистрация: 08.03.2019
Сообщений: 22

Как правильно навесить тач-события?
Всем привет, нашел статью по d3.js:
https://www.freecodecamp.org/news/ho...-72214aaf6ba3/
Попытался на текущем примере:
Feel free to check out the source code as well as the full demonstration of this tutorial.
Добавить события:
https://developer.mozilla.org/ru/doc...I/Touch_events
Чтобы он также работал и на мобильных устройствах, но не могу понять, что я делаю не так. Прошу вашей помощи.
Участок кода, где я добавил тач-события:
svg
.append('rect')
.attr('class', 'overlay')
.attr('width', width)
.attr('height', height)

// .on('mouseover', () => focus.style('display', null))
// .on('mouseout', () => focus.style('display', 'none'))
// .on('mousemove', generateCrosshair)

.on('mouseover', () => focus.style('display', null))
.on('mouseout', () => focus.style('display', 'none'))

.on('touchstart', () => focus.style('display', null))
.on('touchend', () => focus.style('display', 'none'))

.on('mousemove', generateCrosshair)
.on('touchmove', generateCrosshair);

В этом примере та же самая история:
https://blockbuilder.org/micahstubbs...0d926af7a5a1a8
Если в последнем примере написать вот этот код:
svg.append("rect")
	.attr("class", "overlay")
	.attr("width", width)
	.attr("height", height)
	.on("mouseover", function() { focus.style("display", null); })
	.on("touchstart", function() { focus.style("display", null); })
	.on("mouseout", function() { focus.style("display", "none"); })
	.on("touchend", function() { focus.style("display", "none"); })
	.on("mousemove", mousemove)
	.on('touchmove', mousemove);

То баг будет следующий: если сделать touch первый раз, то отобразиться точка на предыдущей дате, при втором нажатии уже на текущей координате.

Последний раз редактировалось darktowerk56c, 27.02.2020 в 18:50.
Ответить с цитированием
  #2 (permalink)  
Старый 27.02.2020, 22:49
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,703

Хотелось бы знать, что делают generateCrosshair и mousemove
И что такое предыдущая дата
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему в Datatables события в связке не работают так как надо? izumov jQuery 4 05.02.2020 18:48
Как правильно получить и присвоить данные полученные из сервера Axios, react-redux hambat Общие вопросы Javascript 5 07.03.2017 17:09
Как правильно настроить очерёдность выполнения функций? Altai Общие вопросы Javascript 8 01.02.2017 19:32
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как правильно очистить maxlength в input? Маэстро Events/DOM/Window 10 22.06.2011 18:14