molily: Eine Frage an die jQuery-Spezis

Beitrag lesen

Hallo,

ja, du kannst das mit einem jQuery-Plugin umsetzen. Das ist eine Möglichkeit, Code objektorientiert zu strukturieren, welche bei DOM-Operationen naheliegt. Direkt im onchange-Handler sollte es nicht stehen, da hast du Recht.

Andere Möglichkeiten wären ein Object-Literal, ein Modul oder Konstruktoren, Prototypen, Instanzen (Pseudoklassen).

... hätte ich lieber:

onselect:function(NODE){
$('#dataForm').init(NODE)
}

Das ist ja schon eine gute Abstraktion. Du behandelst hier das Formular als Objekt, welches initialisiert wird.
Wenn du den Weg eines jQuery-Plugins gehst, dann solltest du die Methode allerdings nicht init nennen, sondern ihr einen spezifischeren Namen geben.

Welche Variante du wählst, kannst du dir aussuchen:

// jQuery-Plugin
$('#dataForm').dataForm(NODE)

// Singleton-Modul
DataForm.init('#dataForm', NODE);

// Konstruktor
new DataForm('#dataForm', NODE);

In allen Fällen könntest du den Code intern gut strukturieren und beispielsweise auf verschiedene Funktionen aufteilen.

Mathias