Посмотрите этот код:Target по щелчку
<div>
<a href = "#"><span>Click me MAN !</span></a>
</div>
<script type = "text/javascript">
window.onload = function() {
document.body.addEventListener ("click", function (event) {
var target = event.target;
alert ("Returns \"" + target.nodeName + "\". Just want \"" + target.parentNode.nodeName + "\"")
}, false);
}
</script>
Вы можете увидеть элемент «пролет» внутри «связь», когда «ссылка» щёлкнули текущая цель такой же «промежуток». Как «event.target» возвращает «ссылку» вместо «span».
Спасибо и нет, я не хочу использовать «parentNode».
Почему именно вы слушаете щелчок по телу вместо того, чтобы направить тэг на якорь? –
@Matt: Это хорошая идея, чтобы сократить обработчики событий до минимума и использовать тот факт, что большинство событий пузыряют дерево DOM, метод, известный как * событие делегирование *. Это может быть то, что делает OP. –