Hallo Leute,
Habe jetzt das Ganze noch etwas vereinfacht *brustschwell*:
window.onload = { // Anonymes Objekt definieren:
inputField: document.getElementById("InputField"), // Eingabefeld für text (DOM-Objekt)
actionButton: document.getElementById("ActionButton"), // Button um Action zu machen (DOM-Objekt)
allowAction: true, // Eigenschaft dieses anonymen Objekts
init: function () { // Methode definieren, die Eventhandler einbaut
var that = this; // ! Muss sein für Eventhandler wie diesen:
this.actionButton.onclick = function () {that.action()}; // Eine Action, die wir machen wollen
},
action: function () { // Eventhandler definieren: Der kann jetzt
// über 'this' auf jede Eigenschaft und
if (this.allowAction) { // Methode des anonymen Objekts zugreifen,
// hier also z.B. etwas mit this.inputBox.value
// (dem Text im Eingabefeld) machen bzw. mit
// jeder beliebigen Eigenschaft und Methode
// des anonymen Objekts arbeiten.
} else {
this.inputBox.focus(); // z.B. mal den Cursor ins Eigabefeld setzen.
}
}
}.init(); // Eventhandler vollends einbauen.
Auf diese Weise braucht man keine einzige globale Variable, d.h. das window-Objekt bleibt absolut sauber und unsere Eventhandler haben immer alles nötige im Zugriff. Es braucht auch keine onclick-, onmouseover-, oder sonstige Eventhandler-Attribute im HTML-Code, so dass das HTML/XHML ebenfalls absolut sauber bleibt, ganz im Sinne der hier immer geforderten strikten Trennung von HTML, Script und CSS-Styles.
Gibt's da vielleicht irgendwelche Nachteile, die mir entgangen wären?
Oder will mir sogar jemand ein "fachlich hilfreich" geben? *bettel* ;-)
Don P