Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Проблемы с отработкой onmouseout (https://javascript.ru/forum/events/5169-problemy-s-otrabotkojj-onmouseout.html)

micscr 22.09.2009 16:15

Проблемы с отработкой onmouseout
 
Добрый день.
Имею:
<div id="xxx" style="height:150px; "> Hello <br>
<span>Всем привет</span><div>ggg</div>
<h2>Заголовок</h2>
</div>

И обработчик JS:
document.getElementById('xxx').onmouseout=function ()
{
    alert('out-'+this.id);
}

Проблема в том, что даже когда перемещаешь мышь
внутри <div id='xxx'> и заходишь на внутренние элементы
идет отработка onmouseout.
Как сделать так чтобы этого не происходило, а onmouseout
шло только при выходе из всего блока?
Спасибо.

Kolyaj 22.09.2009 16:21

Проверять источник события.

micscr 22.09.2009 16:48

Цитата:

Сообщение от Kolyaj (Сообщение 30661)
Проверять источник события.

Можно чуть поподробнее:
я так понимаю в onmouseout источник один если двинуть мышью
за пределы блока и если двинуть например на внутренний div.
А мне нужна именно эта разница.

Kolyaj 22.09.2009 17:03

http://javascript.ru/tutorial/events...rigger:-target

micscr 22.09.2009 17:22

Вот блин, что только перехватом?
У меня весь алгоритм идет как раз на всплывании...
отрабатываю onmouseover дочерних элементов - определенные действия
и потом хочу onmouseover родителя - одно на всех действие

Plest 22.09.2009 18:19

Насколько я понял, Kolyaj имеет в виду анализ relatedTarget при onmouseout
Повешено событие при этом должно быть на контейнер. Так что всё в порядке.

http://www.quirksmode.org/js/events_mouse.html — тут подробно подход описан.


Часовой пояс GMT +3, время: 13:57.