Zugriff auf Eventeingenschaften unter Netscape
Peikert
- javascript
0 molily
Gibt es unter Netscape die Möglichkeit elegant über einen Event-Handler eine Funktion aufzurufen, Ihr Parameter zu übergeben und trotzdem auf das Event-Objekt zuzugreifen ?
Ich möchte eine dynamische Hilfefunktion einbauen: Bei überfahren der Maus über die Tabellenzelle wird die Position berechnet und eine entspr. Hilfe zu dem Tabelleninhalt angezeigt. Sowohl Inhalt als auch Größe der Tabelle sind dynamisch. Im IE habe ich den Freigeitsgrad der Parameterübergabe, den ich unter Netscape nur sehr umständlich hinbekomme.
Hier meine derzeitige Lösung:
Das Event Handling bei Dom setzt immer Initialisierung vorraus, welche auch dynamisch verlaufen muss.
function Init() {
document.getElementById("Bereich").addEventListener("mouseover", handleBereichMove, true);
}
<th bgcolor="#6699ff" id="Bereich" onMouseover="Init()"><font face="Arial" color="#ffffff" valign="center"> Substance</font></th>
Hallo,
Gibt es unter Netscape die Möglichkeit elegant über einen Event-Handler eine Funktion aufzurufen, Ihr Parameter zu übergeben und trotzdem auf das Event-Objekt zuzugreifen ?
Elegant wahrscheinlich nicht, es kommt darauf an, um was für Parameter es geht. Villeicht kannst du sie über das Eventobjekt auslesen? Ansonsten brauchst du z.B. verschiedene Hilfsfunktionen, die zwischengeschaltet werden und das Eventobjekt durchreichen (abstrahiert):
function handlerfunktion (e, param1, param2, ...) {...}
function hilfsfunktion1 (e) { handlerfunktion(e, "ein parameter", ...); }
function hilfsfunktion2 (e) { handlerfunktion(e, "ein anderer parameter", ...); }
usw.
obj1.onevent = hilfsfunktion1;
obj2.onevent = hilfsfunktion2;
usw.
Ich möchte eine dynamische Hilfefunktion einbauen: Bei überfahren der Maus über die Tabellenzelle wird die Position berechnet und eine entspr. Hilfe zu dem Tabelleninhalt angezeigt. Sowohl Inhalt als auch Größe der Tabelle sind dynamisch.
Was bedeutet »Position berechnen«? Wenn du wie im unteren Beispiel »Substance« auslesen willst, kannst du das auch über das Eventobjekt und das DOM. (Eventobjekt.target bzw. Eventobjekt.srcElement im MSIE geben dir den Zugriff auf das th-Element, dann hangelst du dich über das DOM zum fraglichen Textknoten.)
Im IE habe ich den Freigeitsgrad der Parameterübergabe, den ich unter Netscape nur sehr umständlich hinbekomme.
Wie löst du es im MSIE? onmouseover="handler('parameter')" und im Handler über window.event auf das Eventobjekt zugreifen?
function Init() {
document.getElementById("Bereich").addEventListener("mouseover", handleBereichMove, true);
}<th bgcolor="#6699ff" id="Bereich" onMouseover="Init()"><font face="Arial" color="#ffffff" valign="center"> Substance</font></th>
Den Code verstehe ich nicht. Warum vergibst du den Event-Handler beim Mouseover, und dann auch noch einen Mouseover-Event-Handler? Du meintest wohl, dass du Init beim Laden der Seite ausführst..?
Mathias