Javascript : Wie erstelle Globale Funktionen & Variablen
Ich möchte erstellen Sie eine neue Funktion, die ich nutzen kann auf Elemente wie diese:
document.getElementById("element").myNewFunction();
Ich spreche nicht über diese:
document.getElementById("element").myNewFunction = function(){
doSomething...
}
Weil das funktioniert über das element nur, aber wie sollte ich es schaffen, die Globale Funktion, welche ich benutzen kann auf alle Elemente, wie diejenigen, welche in JavaScript?
- es' schlechter Stil, finde ich. Stattdessen erstellen Sie einige hash, wo der Schlüssel ist die id des Elements, und die value - Funktion. ich werde mehr einfach zu verstehen und zu verwenden
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Element dem Prototyp um dessen Funktionalität zu erweitern:
Rufen Sie nun diese Methode auf jedes element-Objekt.
Edit: ich habe gerade ein quick-check rund, und es scheint, dass dies nicht für IE7 und unten, und IE8 werden könnten, zweifelhaft.
Edit 2: Auch als Eli Punkte heraus, es ist wahrscheinlich nicht die beste Praxis, um Objekte erweitern, die Sie nicht besitzen. Angesichts dieser und unsicheren IE-Unterstützung, möchten Sie vielleicht zu prüfen, eine einfache prozedurale Funktion:
Siehe diese Frage: In Javascript, können Sie verlängern die DOM?.
Während es möglich ist, seine im Allgemeinen als schlechte Praxis zu ändern, die die Funktionalität der Objekte, die Sie nicht besitzen.
Prototyp (der Bibliothek) tut dies, erweitert die systemeigenen (integrierte) Klasse DomElement durch das hinzufügen von Methoden zu Ihrem Prototyp. Es funktioniert nicht in alten IEs aber so dass ich würde empfehlen, gegen Sie.
Versuchen
Beispiel:
Herauszufinden, richtige Objekt zu erweitern, indem Sie eine Abfrage
document.getElementById("element").constructor