|
2 / 2 / 0
Регистрация: 17.12.2014
Сообщений: 156
|
||||||
Mouseover/out25.10.2018, 08:59. Показов 2000. Ответов 17
Метки нет (Все метки)
Не могу понять почему не работает onmouseout. Если убрать onmouseover то все срабатывает, но если onmouseover есть, то просто игнорится onmouseout
0
|
||||||
| 25.10.2018, 08:59 | |
|
Ответы с готовыми решениями:
17
select mouseover событие mouseover Не работает событие mouseover |
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
||||||
| 25.10.2018, 10:29 | ||||||
|
Здесь происходит множественная генерация событий при каждом создании нового элемента.
Создался? Наведен? Ура, сообщим, что наведён. Есть хороший топорный способ - вынести переключатель во внешнюю переменную и изредка пинать эту переменную.
0
|
||||||
|
Модератор
2379 / 1739 / 677
Регистрация: 07.08.2016
Сообщений: 4,091
|
||
| 25.10.2018, 10:49 | ||
test.innerHTML = "<p>2222222222222222222222</p>"; и test.innerHTML="<p>&&&&&&&&&&&&&&&&&&&&&&&&&&&&7</p>"; теги параграфа, то скрипт отрабатывает нормально, хотя ведь тоже каждый раз происходит генерация новой текстовой ноды. Почему так?
0
|
||
|
2 / 2 / 0
Регистрация: 17.12.2014
Сообщений: 156
|
|
| 25.10.2018, 10:50 [ТС] | |
|
Понятно. Получается функция замены mouseover так часто срабатывает что mouseout просто не успевает как бы ? А с помощью этой переменной мы даем функции сработать один раз за раз ?
0
|
|
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
|
| 25.10.2018, 11:18 | |
|
AlexZaw, Vlados117, что тут можно сказать? Надо побольше читать и на сайте Mozilla, и на сайте Microsoft и других корифеев и авторов языка.
И много экспериментировать, опять же на разных браузерах ))))
0
|
|
|
Модератор
2379 / 1739 / 677
Регистрация: 07.08.2016
Сообщений: 4,091
|
||
| 25.10.2018, 11:40 | ||
|
Если уж не хотите объяснить своими словами, то дайте ссылочку - обязательно почитаю. У меня не так хорошо с английском чтобы найти такую специфическую информацию.
0
|
||
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
||||||||||||
| 25.10.2018, 17:05 | ||||||||||||
|
AlexZaw, amr-now, Vlados117,
границы элементов определены, смотрите в консоль
1
|
||||||||||||
|
Модератор
2379 / 1739 / 677
Регистрация: 07.08.2016
Сообщений: 4,091
|
|||||||||||
| 25.10.2018, 18:16 | |||||||||||
|
Qwerty_Wasd, приветсвую.
Или я не понял, или мы друг друга не поняли. Смотрите. Берем изначальный код ТС, он не работает так как ему хочется. Т.е. при уводе курсора с #test1 текст не меняется. Теперь берем тот же самый код, но удаляем из него все теги <p></p> т.е. получаем следующий код:
0
|
|||||||||||
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
||||||||||||
| 25.10.2018, 19:21 | ||||||||||||
|
AlexZaw, привет
Вот я как раз об этом и писал.
Добавлено через 2 минуты Но лучше сюда - https://www.w3.org/TR/DOM-Leve... vents-flow Добавлено через 4 минуты AlexZaw, для понимания, отвлекись от примера ТСа. Песочница - https://codepen.io/qwerty_wasd/pen/JmwOrm
1
|
||||||||||||
|
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
|
|||||||
| 25.10.2018, 20:12 | |||||||
|
Vlados117, В Opera 56 с этими onmouseenter и onmouseleave какая-то неадекватность творится ((
Продолжают мотаться счетчики в консоли. Добавлено через 6 минут А сочетание onmouseenter и onmouseleave с внешней переменной в Opera 56 работает исправно:
Text nodes simply don't fire most events: historically, elements have had the responsibility for doing that in HTML DOMs. However, text nodes do fire some events (но не те, которые нужны)
0
|
|||||||
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|
| 25.10.2018, 20:14 | |
|
0
|
|
|
Модератор
2379 / 1739 / 677
Регистрация: 07.08.2016
Сообщений: 4,091
|
|||
| 25.10.2018, 21:58 | |||
![]() Нет, почему происходит постоянная перезапись содержимого вроде понятно, просто событие сначала погрузилось, затем начало всплывать, контент поменялся, событие опять погрузилось, и так по кругу. Ну или постоянно погружается/всплывает из-за изменения контента и каждый раз срабатывает на диве. Но вот хоть убей не могу понять почему не срабатывает mouseout ? Ведь оно точно также должно погружаться до параграфа и сработать на диве. Ну или всплывать от параграфа... Вроде простая проблема, которую, к тому же, можно легко обойти, но нет же - всю голову уже сломал ![]() Добавлено через 5 минут p.s. Даже с помощью таймеров пытался притормозить функции, чтобы браузер точно успевал отловить mouseout, все равно не помогает
0
|
|||
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
||||||||||||||||||
| 25.10.2018, 22:38 | ||||||||||||||||||
|
AlexZaw,
mouseout будет срабатывать только на выходе вверх по дереву Добавлено через 13 минут Вот из-за такого поведения для всплывающих событий и придумали capture events. Делегируя событие уровнем выше, мы ловим их на нужном элементе. https://codepen.io/qwerty_wasd/pen/LgMBwK
1
|
||||||||||||||||||
|
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
|
|
| 26.10.2018, 08:42 | |
|
Qwerty_Wasd, но mouseout не срабатывает из-за того что браузер не успевает обработать все события, правильно?
0
|
|
|
Модератор
2379 / 1739 / 677
Регистрация: 07.08.2016
Сообщений: 4,091
|
|
| 26.10.2018, 10:21 | |
|
Qwerty_Wasd, т.е. по сути получается что при mouseover, событие перехватывается на родителе и срабатывает. А при mouseout оно, из-за браузера, не успевает сработать на родителе из-за срабатывания "лишнего" (т.к. курсор может быть только над одним элементом) выхода из ребенка? Ну и плюс накладывается mouseover и mouseout на родителе? Так?
0
|
|
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
||
| 26.10.2018, 13:38 | ||
|
shvyrevvg, AlexZaw,
1. Наводим курсор на test1, событие погружается в глубь DOM 2. Схлопывается потомок, ему ж надо поменять содержимое 3. И курсор оказывается снова на элементе, вызвавшем событие 4. То есть снова происходит событие 5. Тут же показывается содержимое, определенное в событии, у потомка 6. goto к п.1 К моменту выхода курсора - в очереди событий такой шлак твориться. Вы поглядите в консоль. Помимо того что курсор выходит с test1, мы еще и на test2 его переместим и понеслось. Теперь что касаемо, не срабатывания - ребята Я вам предоставил пример со стилями не просто так. В примере ТС стилей нет, поэтому границ элемента, на котором срабатывает событие, НЕТ!!!!! Есть только потомок до которого погружается событие. Поэтому при выходе с потомка не срабатывает out. Потому что просто проскакиваем мышкой границы родителя. И тик события не успевает сработать в нем. Я думал это было сразу понятно. Ну блин вы даете!
2
|
||
|
Модератор
2379 / 1739 / 677
Регистрация: 07.08.2016
Сообщений: 4,091
|
|||
| 26.10.2018, 13:43 | |||
![]()
0
|
|||
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
||
| 26.10.2018, 13:49 | ||
|
AlexZaw,
Интерфейсу события на это плевать, ибо мы не указали ему как поступить в таких случаях. Поэтому проще использовать capture events или mouseenter/mouseleave
0
|
||
| 26.10.2018, 13:49 | |
|
Помогаю со студенческими работами здесь
18
Использование Mouseover/mouseout Вертикальный скролл по mouseover Mouseover событие при наведении Событие mouseover, при наведении мыши на изображение изменять его ширину глюк с mouseover Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|