Событие при наведение на потомка
Столкнулся с проблемой и по всем законам понимаю, что так и должно быть, но мне-то нужно по другому))
<div id='helper'></div>
<div onmouseOver='event_over(this);'>
<ul onmouseOver='event_over(this);'>
<li onmouseOver='event_over(this);'>элемент</li>
</ul>
</div>
function event_over(object)
{
document.getElementById('helper') = object.tagName;
}
при наведение на DIV - всё впорядке, но во при наведение на вложенный в него ul - в helper всё равно показывает div... как обойти сию запарку? (мне нужно, чтобы событие срабатывало на максимально глубоко вложенном элементе) если сделать по другому чуть и поставить
function event_over(object)
{
document.getElementById('helper') += object.tagName;
}
то видно, что событие сработало сначала на ULБ а потом на DIV ...7 как сделать, чтобы при срабатываение на UL оно уже не срабатывало на DIV? |
Смотрите target (для IE — srcElement) события. Он будет возвращать тот элемент, на который кликнули.
<html>
<head>
<title>
Test
</title>
</head>
<body>
<div>
<span>
Кликни на меня!
</span>
</div>
<a href="javascript://">
Или на меня
</a>
<script type="text/javascript">
document.onclick = function ( e ) {
alert( (e || window.event)[-[1,] ? 'target' : 'srcElement'] );
};
</script>
</body>
</html>
|
Цитата:
evt.returnValue = false; Для остальных: evt.stopPropagation(); Когда срабатывает на UL. |
| Часовой пояс GMT +3, время: 11:36. |