klausfpga: kein mouseup event fuer img, falls ich maus gedrueckt schiebe

Hi,

Ich hab einen image tag.

Was ich machen will ist simpel (dachte ich):

Mit der Maus auf einen Punkt eines Bildes klicken,
Maus gedrueckt halten, Maus verschieben, Maus loslassen.

Was mich interessiert sind die Koordinaten zum mousdown-zeitpunkt
und zum mouseup-zeitpunkt.

Mein mousedown-handler wird auch brav aufgerufen.
mein mouseup-handler wird aber NUR aufgerufen, wenn ich die Maus nach dem druecken NICHT verschiebe.

Wenn ich sie gedrueckt verschiebe, sehe ich im Browser, wie eine semitransparente Version meines Bildes verschoben wird und wenn ich die Maus loslasse erhalte ich keinen mouseup event.

Wie kann ich denn dieses 'Drag-und-drop' verhalten lahmlegen.
Mein Code sollte unter Firefox und IE funktionieren
(Bin momentan aber nur unter FF).

Main javascript code:

img = document.createElement('img');
img.setAttribute('src','image.jpg');
img.setAttribute('style','position: absolute; top=0px; left=0px;');

img.onmousedown = meine_mousedownfunktion; // funktioniert prima

img.mouseup = meine_mouseupfunktion; // funktioniert nur, wenn ich
                     // die Maus nach dem mousedownevent NICHT verschiebe

parentdiv = document.getElementById('parentdivid');
parentdiv.appendChild(img);

Bin fuer jeden Tipp dankbar.

bye

klaus

  1. Mein mousedown-handler wird auch brav aufgerufen.
    mein mouseup-handler wird aber NUR aufgerufen, wenn ich die Maus nach dem druecken NICHT verschiebe.

    Grummel:

    das einfuegen eines:

    return false;

    am Ende meines mousedown event-handlers hat das Problem geloest.

    Habs durch Googeln gefunde. Aus welcher Doc waere das denn ersichtlich gewesen?

    bye

    Klaus

    1. Hi,

      das einfuegen eines:
      return false;
      am Ende meines mousedown event-handlers hat das Problem geloest.

      Hast du das auch in verschiedenen Browsern getestet?

      Wenn ich im Opera auf ein Bild klicke, gedrückt halte und dann die Maus verschiebe, verschiebt er das Bild - ich weiss nicht, ob ein return false irgendwo ihn davon abhält.

      MfG ChrisB

      --
      Light travels faster than sound - that's why most people appear bright until you hear them speak.