Wie wird das Element angeklickt?

Lesezeit: 1 Minute

Benutzer-Avatar
Leila Hamon

Wie würden Sie anhand dieses Codes überprüfen, auf welches Element im Dokument geklickt wurde?

if ( document.addEventListener && document.attachEvent && document.fireEvent ) {
    document.attachEvent( "onclick", function() {
     // ...
    });
}

  • Warum benutzt du attachEvent Wenn addEventListener ist verfügbar?

    – QUentin

    31. Juli 2012 um 13:26 Uhr

  • Mögliches Duplikat von stackoverflow.com/questions/4590122/…

    – Nikosantangelo

    31. Juli 2012 um 13:31 Uhr

  • @Quentin Das war aus dem Jquery-Quellcode, ich weiß nicht, warum sie diese beiden zusammen verwendet haben, hat jemand eine Antwort auf Quentins Frage?

    – Leila Hamon

    31. Juli 2012 um 16:32 Uhr

Benutzer-Avatar
blauer

// using e.srcElement or event.srcElement

versuchen Sie dies 🙂 und sehen Sie sich das an http://www.quirksmode.org/js/events_advanced.html

if (document.addEventListener){
    document.addEventListener("click", function(event){
        var targetElement = event.target || event.srcElement;
        console.log(targetElement);
    });
} else if (document.attachEvent) {    
    document.attachEvent("onclick", function(){
        var targetElement = event.target || event.srcElement;
        console.log(targetElement);
    });
}

  • Das OP möchte wissen, auf welches Element zum Zeitpunkt des Auslösens des Ereignisses geklickt wurde, und Ihre Antwort scheint dies nicht zu tun.

    – Apsiller

    31. Juli 2012 um 13:36 Uhr


  • srcElement ist alt und größtenteils eine Microsoft-Implementierung, die ich lieber verwenden würde event.target wenn verfügbar. var target = event.target || event.srcElement; Bezug. MDN.

    – Fabrício Matté

    31. Juli 2012 um 13:43 Uhr


  • Kein Problem, auch der erste Listener-Handler (addEventListener) sollte die Funktion verwenden e.target Ich schätze, ach, jetzt dreht sich sogar mein Kopf mit diesen Hacks für ältere Versionen von IE.

    – Fabrício Matté

    31. Juli 2012 um 13:51 Uhr


  • Dies mag ein wenig überflüssig sein, sollte es aber kugelsicher machen: Geige. Glücklicherweise gibt es heutzutage jQuery, das sich um die Bindung von Handlern kümmert.

    – Fabrício Matté

    31. Juli 2012 um 14:00 Uhr

  • event ist nicht definiert. Wollten Sie schreiben function(event) Anstatt von function(e)?

    – OdraEncoded

    1. August 2014 um 23:42 Uhr

1256580cookie-checkWie wird das Element angeklickt?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy