Sie addEventListener () auf die NodeList
Tut NodeList Unterstützung addEventListener. Wenn nicht, was ist der beste Weg, um add EventListener auf alle Knoten der Knotenliste. Momentan benutze ich das code-snippet, wie unten dargestellt, gibt es einen besseren Weg, dies zu tun.
var ar_coins = document.getElementsByClassName('coins');
for(var xx=0;xx < ar_coins.length;xx++)
{
ar_coins.item(xx).addEventListener('dragstart',handleDragStart,false);
}
InformationsquelleAutor der Frage Dinesh P.R. | 2012-09-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine Möglichkeit, es zu tun, ohne die Schleife durch jedes element. Du könntest natürlich eine Funktion schreiben, die es für Sie tun.
oder eine speziellere version:
Werden, und obwohl Sie nicht Fragen über jQuery, das ist die Art von Zeug, dass jQuery ist besonders gut an:
InformationsquelleAutor der Antwort jfriend00
Gibt es eigentlich ist ein Weg, dies zu tun ohne einer Schleife:
Und auf diese Weise verwendet wird, in einem meiner one-liner helper-Bibliotheken - nanoQuery.
InformationsquelleAutor der Antwort Multiversum
Die besten, die ich tun konnte, war dieses:
Beachten Sie, dass diese verwendet ES6-features, also bitte stellen Sie sicher, dass transpile!
InformationsquelleAutor der Antwort Kris Selbekk
in es6, die Sie tun können, ein array von nodelist, mit Array.aus, z.B.
oder einfach nur mit den Pfeiltasten Funktionen
InformationsquelleAutor der Antwort Darlan Mendonça
Das einfachste Beispiel ist das hinzufügen dieser Funktionalität zu
NodeList
Können Sie jetzt tun:
In der gleichen Weise, die Sie tun können, eine
forEach
SchleifeMit:
BEARBEITEN : beachten Sie, dass die NodeList.der Prototyp.forEach zwar schon seit november 2016 FF. Keine IE-Unterstützung obwohl
InformationsquelleAutor der Antwort Profesor08
Ich nehme an, eine weitere option wäre zu definieren
addEventListener
aufNodeList
mitObject.defineProperty
. So können Sie die Behandlung der NodeList als würden Sie einen einzelnen Knoten.Als Beispiel habe ich ein jsfiddle hier: http://jsfiddle.net/2LQbe/
Der entscheidende Punkt ist dieser:
InformationsquelleAutor der Antwort Duncan