Javascript klickt den Ereignis-Listener auf mehrere Elemente und erhält die Ziel-ID

8

Ich habe eine Javascript-Datei, die einen EventListener von 'click' auf jedes Element mit dem <article> -Tag setzt. Ich möchte die ID des Artikels abrufen, wenn das Ereignis ausgelöst wird. Aus irgendeinem Grund produziert mein Code nichts!

Mein Javascript:

%Vor%

Warum funktioniert das nicht? Übrigens ist mein Artikel-Setup in einer Funktion, die aufgerufen wird, wenn das Fenster geladen wird, und ich weiß, dass das sicher funktioniert, weil diese Funktion andere Sachen hat, die funktionieren.

BEARBEITEN

Also habe ich meinen Code korrigiert, so dass er eine Schleife bildet und den Listener zu jedem Artikelelement hinzufügt, und jetzt bekomme ich eine Alarmbox mit nichts darin. Wenn ich versuche, das e.target ohne die ID auszugeben, erhalte ich für jedes Element folgende Meldung:

%Vor%

Irgendwelche Vorschläge?

ANDERES BEARBEITEN

Mein aktueller JavaScript-Code:

%Vor%

Dies zeigt meine Alarmfelder, wenn die Seite fertig geladen wurde, ohne zu berücksichtigen, dass ich nicht auf ein verdammtes Ding geklickt habe: O

    
arielschon12 15.12.2012, 14:39
quelle

5 Antworten

7

Sie übergeben ein Artikelobjekt nicht als Parameter umzuleiten.

Versuchen Sie Folgendes ( BEARBEITEN ):

%Vor%

Hoffe, es wird den Fehler lösen.

    
Mohit Pandey 15.12.2012, 16:35
quelle
4

Warum erwähnt niemand ein einzelnes Ereignis, das nach dem angeklickten Element sucht?

%Vor%

es ist leistungsfähiger, weniger Ereignisse zu haben.

Wenn Sie nicht nach Klickereignissen im gesamten Text suchen müssen, können Sie das Ereignis an ein näheres Elternelement anhängen

    
Can 06.03.2016 07:52
quelle
3

Sie führen die Umleitungsfunktion aus, anstatt die Referenz zu übergeben, versuchen Sie dies:

%Vor%

Bearbeiten: GetElementsByTagName gibt auch ein Array mit Artikeln zurück, also müssen Sie sie durchschleifen und addEventListener auf jedem von ihnen aufrufen.

%Vor%     
sroes 15.12.2012 14:41
quelle
2

getElementsByTagName gibt eine Nodeliste zurück. Sie können dann jedem dieser Elemente einen eventlistener mit einer for-Schleife hinzufügen.

%Vor%     
gkiely 15.12.2012 14:51
quelle
-1
%Vor%

Wenn nicht funktioniert, dann versuchen Sie per e.id anstelle von e.target.id innerhalb der Warnung wie folgt:

%Vor%

Danke.

    
Rashedul.Rubel 15.12.2012 14:59
quelle

Tags und Links