SorkenKind mech: addEvent für bestimmte Tags immer und überall

Beitrag lesen

Mahlzeit!

zur Vorgeschichte: Ich stelle gerade eine Seite von "Quirks" auf "HTML5" um, sozusagen ...

Ein "Feature" war bei der textarea das Overflow:auto, was im IE verursachte, dass das Textfeld sich in der höhe stets dem Inhalt angepasst hat.

Nun scheine ich ja um JS nicht mehr herum zu kommen, um dieses Verhalten "nachzustellen"

also habe ich nun folgendes script:

function xy(obj)  
{  
	obj.style.overflow='scroll'; // chrome workaround  
	obj.style.height=obj.scrollHeight + 'px';  
	obj.style.overflow='hidden'; // chrome workaround  
}

so, das funktioniert schonmal in IE, FF und Chrome - mehr als Ausreichend für das aktuelle Ziel

Problem: Ich möchte nun natürlich nicht bei jedem Textfeld ein onKeyUp oder ähnliches rein setzen, zumindest nicht manuell ...

ich könnte jetzt alle getElementsByTagName() durchlaufen ... aber was ist, wenn ein neues Textfeld dynamisch generiert wird?

Dann habe ich die Idee gelesen, einfach einen allgemeinen Eventhandler zu bastelt, und bei klick oder Focus und passendem tag die Funktion aufzurufen ... nett, man hätte das gleiche prblem wie zuvor, plus dass man jedes element einmal aktivieren müsste, damit es anfänglich einmal korrekt dargestellt wird ...

hat hier jemand eine Idee wie ich sicherstelle dass

  • die Funktion für jedes vorhandes textarea-element nach laden der seite einmal aufrufe
  • die Funktion bei Änderung des Inhaltes der textarea aufgerufen wird
  • die Funktion auch bei dynamisch hinzugefügten textarea greift

sicherlich könnte ich einfach jede sekunde einmal alle Elemente durchlaufen, aber das ist ja nicht grad sinn du zweck der Sache ;)

vielen Dank für Eure Ideen schonmal im voraus ;)=

PS: JQuery ist keine Alternative!
PPS: eine reine CSS-Lösung wäre mir immernoch lieber ;(

LG euer SorgenKind mech