Страницы

Поиск по вопросам

пятница, 12 июля 2019 г.

Событие onMouseOut не должно вызываться на потомках

Есть вот такая страница


        
и скрипт с событием mouseout: function onMouseOut(event) { e = event.toElement || event.relatedTarget; if (e.parentNode == this || e.parentNode.parentNode == this || e.parentNode.parentNode.parentNode == this || e == this) { return; } alert('MouseOut'); // handle mouse event here! }; document.getElementById("parent").addEventListener('mouseout',onMouseOut,true); Мне необходимо сделать так, чтобы input при наведении на него указателя мыши не вызывал события onMouseOut элемента div. Добавление в условие четверного parentNode результата не даёт.


Ответ

Update: изначально напутал с направлением распространения событий. В вашем случае только так: function onMouseOut(event) { var event = event || window.event; // cross-browser event var target = event.target || event.srcElement; if (target.id === this.id) { alert('MouseOut'); // handle mouse event here! } return; } Посмотреть пример (зеленая область - div#parent)

Комментариев нет:

Отправить комментарий