Javascript.RU

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

Браузерный баг с clientX/Y
Демка: https://tamtakoe.github.io/clientXY-bug/

Если в кратце, то ситауция такая, что курсор находится на одном месте, но в определенных ситуациях его координаты меняются (clientX/Y, pageX/Y, screenX/Y - все). Разумеется окно браузера остаётся на месте и никакие размеры там не меняются. Бывает, что баг сразу не воспроизводится, но после пары попыток повторится. Пробовал в последнем Хроме и Фаерфоксе).

Посмотрите, пожалуйста, у себя. Куда, кстати, о багах писать. Где приемная у разработчиков браузеров?
Ответить с цитированием
  #2 (permalink)  
Старый 16.05.2018, 18:54
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,585

Меняется на другие или на те же?
Если на те же, просто срабатывает событие - то это известные глюки винды.
Если на другие - глюки твоего мыша.)
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 16.05.2018, 20:46
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Win7 x64, Google v66.0.3359.139

По-моему ошибок нет, все работает, как часы.
Добавьте этот скрипт на страницу и сравните координаты мыши и координаты события:
document.body.addEventListener('mousemove',function(e){
	document.querySelector('#focus-input').value=e.clientX+':'+e.clientY;
	var list=[].slice.call(document.querySelectorAll('#log-container div'));
	list.pop();list.pop();
	list.forEach(node=>node.parentNode.removeChild(node));
});


У вас в лог записываются разные координаты, потому что вы не останавливаете свою мышь сразу после срабатывания события mouseover.
Ответить с цитированием
  #4 (permalink)  
Старый 17.05.2018, 10:53
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 571

Обновил пример. Добавил указатель курсора и сразу стало видно, что сам дурак)

Получалось, что запоминались координаты вхождения курсора в элемент. После чего он проходил какое-то расстояние в элементе, а при прокручивании списка разумеется показывались его текущие координаты. От того и разница.

День потрачен на борьбу с ветряными мельницами. Всем спасибо, пойду учиться программировать)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Jquery Datepicker баг с выбором года sergeantpepper jQuery 4 04.04.2017 00:31
Баг (если водить курсором по картинках то они отступают в разные стороны) злобная_пипа jQuery 4 06.11.2015 16:50
Баг в Опере (select и onclick) Dimox Opera, Safari и др. 20 25.01.2013 00:39
Очередной баг jQuery? monolithed jQuery 8 27.01.2011 10:16
Баг с jpeg в ie6 JsLoveR Элементы интерфейса 20 28.01.2010 20:57