Geht auch beides? Ich bräuchte grad die Mausposition in so einer Funktion und hab schon andere Parameter in ihr.
Welche Parameter willst du denn übergeben?
Bei Inline-Event-Handlern Event-Objekt und weitere Parameter übergeben:
onclick="handler(event, param1, param2, ...)"
Bei traditioneller Registrierung eines Event-Handlers mit JavaScript:
element.onclick = wrapperfunktion;
function wrapperfunktion (e) {
handler(e, "param1", "param2", ...);
}
function handler (e, param1, param2, ...) {
if (!e) e = window.event;
alert(e); // Zugriff auf das Event-Objekt
alert(param1); // Zugriff auf die Parameter
}
Geht natürlich noch eleganter, wird dann aber komplizierter.
Ich sehe immer wieder Beispiele, in denen z.B. dem Event onmouseover eine Funktion mit beliebigen Parametern übergeben wird. Also etwa eine ID des überfahrenen Objekts.
Die ID des überfahrenen Objektes brauchst du der Handlerfunktion nicht zu übergeben, du kannst mit »this« auf das Element zugreifen, bei dem der Handler registriert wurde:
element.onclick = handler;
function handler (e) {
if (!e) e = window.event;
alert(e); // Zugriff auf das Event-Objekt
alert(this); // Zugriff auf das Element mit dem Handler
}
Mathias