Spójrz ten kod:docelowa na kliknięcia
<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>
Można zobaczyć elementu „rozpiętość” wewnątrz „link”, gdy „Link” jest kliknięty obecny cel jest ten sam „rozpiętość”. W jaki sposób "event.target" może zwrócić "link" zamiast "span".
Dzięki i nie, nie chcę używać "parentNode".
Dlaczego dokładnie słyszysz kliknięcie na ciele zamiast kierowania tylko na znacznik zakotwiczenia? –
@Matt: Warto zmniejszyć liczbę procedur obsługi zdarzeń do minimum i wykorzystywać fakt, że większość zdarzeń powoduje pojawienie się drzewa DOM, technikę znaną jako * delegowanie zdarzeń *. Być może właśnie to robi OP. –