Gerd: Mauskoordinaten

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

  1. 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

  2. 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.