molily: Event-Handling ohne Eventhandler...

Beitrag lesen

if (navigator.userAgent.indexOf("MSIE") != -1)
{
    document.onmouseover = theOnOver;
    document.onmouseout  = theOnOut;
}
else
{
    document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
    document.onmouseover = theOnOver;
    document.onmouseout  = theOnOut;
}

(habe ich irgendwo mal rausgeschnitten) sieht zwar soweit ganz nett aus, wirklich. DA haben wir eine IE-proprietäre Lösung,

Nein, das ist eine Lösung, die in bereits in 4er-Browsern funktionieren sollte und auch heute noch ihren Zweck erfüllt.

dann eine für NS,

Das einzig Proprietäre daran ist das zusätzlich nötige captureEvents(), die Zuweisung der Event-Handler läuft so ab wie in den anderen Browsern. In Opera und Mozilla gibt es ebenfalls document.captureEvents(), dort ist es aber meines Wissens nur als Dummy-Funktion zur Abwärtskompatibilität eingebaut, sie wird nicht mehr im Netscape-4-Sinne benötigt.

und dann ist nix mehr. > Wie ist's mit'm Mozilla? Opera? Firefox? Sonstwas-browser?

Die unterstützen alle die obige Methode. Wobei die Unterscheidung nach User-Agent bekanntlich unsinnig ist. In obigem Beispiel würde ein if (document.layers) document.captureEvents(...); zu den Zuweisungen reichen.

Also was gibt es da für Möglichkeiten, um was zu machen, dass auf jeden fall mal bei IE<5.0, OP7, NS7, Mozilla1.4 usw. geht?

Das kommt darauf an, was du vorhast. »Ich möchte so etwas wie Event-Handling durchführen« sagt wenig über die Anforderungen. Für manches reicht die klassische Methode, dazu ist ein Ausschluss von Browsern unter diesem recht hohen Level nicht nötig, für manches ist attachEvent/addEventListener besser geeignet bzw. notwendig, weil es mit dem alten Konzept nicht umsetzbar ist..

Mathias