Mauskoordinaten
Gerd
- javascript
hi, also ich habe folgendes problem:
ich habe einen div, der an einer bestimmten stelle angezeigt werden soll. die jeweilige stelle ist die X,Y Koordinate der Maus.
der code sieht wie folgt aus:
function ShowHelpBox(e) {
if (document.all) {
tempX = event.clientX + document.body.scrollLeft;
tempY = event.clientY + document.body.scrollTop;
} else {
tempX = e.pageX;
tempY = e.pageY;
}
... anzeigen des divs ...
}
das ganze wird beim überfahren eines links aufgerufen:
<a href="#" OnMouseOver="javascript: ShowHelpBox()">
Allerding funktioniert das nicht im FireFox, liegt an dem event, weiss aber nicht, wie ich das loesen muss.
mfg
Gerd
hi
<a href="#" OnMouseOver="javascript: ShowHelpBox()">
das 'javascript:' brauchst di in nem Eventhandler nicht.
Versuchs mal mit:
<a href="#" OnMouseOver="ShowHelpBox(event);">
Sollte natürlich auch mit deinem Code (wozu die Backslashes?) funktionieren:
<a href="#" OnMouseOver="javascript: ShowHelpBox(event)">
gruß
peter
function ShowHelpBox(e) {
if (document.all) {
tempX = event.clientX + document.body.scrollLeft;
tempY = event.clientY + document.body.scrollTop;
} else {
tempX = e.pageX;
tempY = e.pageY;
}
... anzeigen des divs ...
}
Warum prüfst du auf document.all?
Außerdem funktioniert das nur im Quirksmode.
So bekommst du immer die Mausposition:
function mouse_pos(evt)
{
if(!evt) evt = window.event;
var pos = { left: evt.clientX, top:evt.clientY };
var b = (window.document.compatMode && window.document.compatMode == "CSS1Compat") ?
window.document.documentElement : window.document.body || null;
if (b)
{
pos.left += b.scrollLeft;
pos.top += b.scrollTop;
}
return pos;
}
Struppi.