Ich habe eine Web-App mit einer ziemlich komplexen Benutzeroberfläche erstellt - viele kleine Elemente nebeneinander und in anderen Elementen, die unterschiedliche Verhaltensweisen erfordern (Ziehen, Klicken, aber kontextsensitiv).
Mein Code funktioniert normalerweise so:
Steuerelemente beginnen als HTML-Tags
<li>
dann füge ich dem Tag Klassen hinzu
<li class = 'static passive included'>
In einigen Klassen kann das CSS-Styling das Erscheinungsbild beeinflussen
.static {background: blue; float: left;}
während andere von jQuery bearbeitet werden, um Verhalten für die zugehörigen DOM-Ereignisse anzugeben
$("#container").delegate(".passive", function {onclick : //do-stuff})
und andere können beim Scannen des Dokuments von normalem Javascript erfasst werden, z. Sammeln Sie die Textwerte aller Knoten mit der Klasse 'eingeschlossen'. Bestimmte DOM-Elemente sind also GUI-Objekte, die Klassen implementieren, die durch eine Kombination aus CSS und jQuery definiert wurden.
Meine Frage ist, ist das eine gute Art zu arbeiten? Und das sind auch wirklich "Dekorateure" - sie fügen einem Objekt sicherlich dynamisch zusätzliche Verantwortlichkeiten hinzu ", aber ich bin mir über diesen Begriff nicht sicher. Verwenden Sie dieses Muster schließlich auf Ihren eigenen Websites?