da ist sie wieder, die ominöse Funktion ;-) Ich habe das Gefühl, die Welt der Events ist doch noch sehr nebulös für mich. Habe mich etwas eingelesen, aber alle Beispiele scheinen sich sich immer auf das permanente Auslesen von Werten, nicht das punktuelle auf einem bestimmten Event, zu beziehen.
Also, einen Event rufst du ja nicht selber auf, sondern er wird vom Browser "gefeuert" wenn er eintritt. Ich vermute mal du hast in deinem HTML Code ein onclick event eingebaut.
<a href="" onclick="showPop(this);">....</a>
Da ich jetzt keinen Moziall hier hab musst du ein wenig probieren. Du musst den Event weitergeben sowiet ich weiß so:
<a href="" onclick="showPop(this, Event);">....</a>
und in deiner Funktion entsprechend auswerten.
Das Ding ist, normlerweise wirst du einen event so umbiegen:
obj.onclick = func;
function func(e)
{
if(!e) e = window.event;
}
e wird von Mozilla beim aufruf des events erzeugt und automatisch an die Funktion weitergegeben im IE musst du das globale Objekt nehmen.
Dann habe ich die Funktion checkPos(), die mir die Werte (bei Aufruf!) zurückgeben soll:
function checkPos() {
tempX = event.clientX + document.body.scrollLeft;
tempY = event.clientY + document.body.scrollTop;
if (tempX < 0){tempX = 0;}
if (tempY < 0){tempY = 0;}
var m_pos = new Object();
m_pos.top = tempY;
m_pos.left = tempX;
return m_pos;
}
Hier ist e auf einmal verschwunden, am Anfang war das noch da.
(jetzt mal reduziert auf DOM-Browser:)
function showPopup(id) {
Hier ist die Frage, von wo wird diese Funktion aufgerufen?
Falls du die aktuelle Mausposition brauchst schau mal hier: http://home.arcor.de/struebig/js/lib/mouse.html es ist nicht ganz so trivial.
Struppi.