Ziel klicken Sie auf
Suchen Sie diesen code:
<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>
Können Sie sehen, das element "span" in ein "link", wenn der "link" auf das aktuelle Ziel ist das gleiche "Spannweite". Wie kann die "event.Ziel der" Rückkehr "link" anstelle von "span".
Dank und Nein, ich will nicht von "parentNode".
- Warum genau sind Sie, hören für einen Klick auf den Körper und nicht nur die Ausrichtung der Anker-tag?
- Es ist eine gute Idee, reduzieren Sie die Ereignis-Handler auf ein minimum und nutzen die Tatsache, dass die meisten Veranstaltungen, die Blase, bis der DOM-Baum, eine Technik, bekannt als event-delegation. Das mag sein, was der OP tut.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit Ihrem Ansatz, Sie müssen entweder manuell traverse den DOM bis Sie auf eine
<a>
element, oder bringen Sie die Zuhörer auf den link selbst und verwendenthis
.Minimierung der Anzahl der Ereignis-Listener wird in der Regel eine gute Idee, also hier ist ein Beispiel, wie die zum Durchlaufen des DOM. Beachten Sie, dass der Ereignis-listener wird nicht im IE funktioniert, die nicht die Unterstützung der
addEventListener()
Methode von DOM-Knoten.Live-Beispiel: http://jsfiddle.net/timdown/pJp4J/
Hinzufügen dieser css-Tipps für JavaScript.
Erhalten Sie event.Ziel Sie wollen.
Können Sie nicht nur verwenden