Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.09.2024, 10:04
Аспирант
Отправить личное сообщение для firep91613 Посмотреть профиль Найти все сообщения от firep91613
 
Регистрация: 24.10.2023
Сообщений: 58

Не работает обработчик в консоли
Есть страница, открываю консоль и вставляю код:
document.body.addEventListener('mousemove', function(e) {
    console.log('bla-bla-bla');
});

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

Вот тебе варианты когда такое возможно:
1. всё дерьмо лежит вне body(это не валидно, но осуществимо)
2. body периодически целикиком перезаписывается(например через outerHTML) и старые слушатели на старом body больше не актальны.(встречал и на крупных сайтах)
3. console.log подменён сайтом и вообще не работает(встречается повсеместно, можно достать себе log из фрейма, если очень хочется).
4. addEventListener подменён сайтом.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 15.09.2024, 18:33
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Как вариант, скрипт находится в head до body.
<head>
<script>
document.body.addEventListener('mousemove', function(e) {
    console.log('bla-bla-bla');
});
</script>
</head>
<body>
....
</body>

document.body в этом случае будет null.
Проверьте ошибки в консоле.
Ответить с цитированием
  #4 (permalink)  
Старый 15.09.2024, 22:19
Аспирант
Отправить личное сообщение для firep91613 Посмотреть профиль Найти все сообщения от firep91613
 
Регистрация: 24.10.2023
Сообщений: 58

Aetae, а какие еще есть варианты? Просто все в body, в Event Listeners в инструментах разработчика обработчик стоит, console.log - native code, addEventListener - тоже.

voraa, я скрипт в консоль вставляю, сайт не мой. Просто хотел посмотреть как там у них работает. А там даже обработчик не хочет работать.
Ответить с цитированием
  #5 (permalink)  
Старый 15.09.2024, 22:59
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

Цитата:
А там даже обработчик не хочет работать.
Место для удара головой ....

Практически наверняка обработчик работает так и должен работать но при этом все работает не так как ты ожидаешь следовательно тебе стоит разобрать логику своих суждений приводящих к категоричному утверждению "обработчик не хочет работать" и найти в ней ошибку.

С большой долей вероятности при "всплытии события" вызывается обработчик останавливающий дальнейшее всплытие.

Проверить это можно с помощью отладчика браузера
например в хроме можно выбрать "точки останова прослушивателя событий" и выбрать точку останова на событии "mousemove".
Ответить с цитированием
  #6 (permalink)  
Старый 15.09.2024, 23:03
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

MallSerg, точняк, про возможность, что кто-то остановит всплытие я и не подумал.

firep91613, попробуй так, авось перехватишь на погружении:
document.body.addEventListener('mousemove', function(e) {
    console.log('bla-bla-bla');
}, true);
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 16.09.2024, 19:34
Аспирант
Отправить личное сообщение для firep91613 Посмотреть профиль Найти все сообщения от firep91613
 
Регистрация: 24.10.2023
Сообщений: 58

Да, так работает. Спасибо вам.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AddEventListener не правильно работает с классами Flakky Events/DOM/Window 2 27.05.2016 13:51
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
Как работает обработчик в файле, подгруженном AJAX SweetySugar AJAX и COMET 1 20.08.2011 17:17
Как "обмануть" обработчик события? itPiligrim Events/DOM/Window 0 13.05.2010 22:55
Как работает обработчик onMouseMove() bayah Общие вопросы Javascript 3 29.04.2010 14:36