steckl: Probleme mit drag&drop

Hi,

ich habe mir ein Drag&Drop-Script gebastelt, bei dem 2 DIVs beliebig verschoben werden koennen.

Jedes der beiden DIVs enthaelt einen Button, mit dessen Hilfe ich seine ID, die Position, die Hintergrundfarbe und den zIndex mit AJAX in ein Textfile schreibe. Das klappt auch alles so weit.

Wenn ich jetzt auf den Button Druecke und die Maus gedrueckt halte kann ich das zugehoerige DIV verschieben. Kann ich dieses Verhalten irgendwie unterbinden, so dass bei einem onmousedown auf dem Button dragstart nicht aufgerufen wird?
Ich waere schon ueber Suchbegriffe froh, nach denen ich googlen kann.

Das DIV sieht so aus:

  
<div id="eins" onmousedown="dragstart(this)" style="position:absolute;top:360px;left:285px;height:200px;width:200px;background:red;cursor:move;border:1px solid #000000;z-index:22567;">  
  <p class="ebene">22567</p>  
  <form>  
    <button type="button" onclick="safePosition(this.parentNode.parentNode)">Position speichern</button>  
  
  </form>  
</div>  

Dass das CSS noch ausgelagert werden sollte weiss ich selber, aber das sollte fuer den Test erstmal unrelevant sein.

Und noch eine Kleinigkeit:
Das zuletzt verschobene DIV soll immer im Vordergrund sein. Das habe ich mit einer globalen Variable geloest, deren Wert beim Drag-Start dem zIndex des Elements zugewisen und anschliesend inkrementiert wird.
Ihr Startwert ist der groesste zIndex aus dem Textfile.

Ich habe festgestellt, dass der Firefox1.5 bei zu hohem zIndex das DIV garnichtmehr anzeigt und der IE6 den zIndex einfach nichtmehr erhoeht.

Da das Verhalten erst bei ueber 1Mrd auftritt ist dies nicht so schlimm, aber wenn man das eleganter loesen koennte wuerde ich dies gerne machen.

mfG,
steckl

  1. Hi,

    Wenn ich jetzt auf den Button Druecke und die Maus gedrueckt halte kann ich das zugehoerige DIV verschieben. Kann ich dieses Verhalten irgendwie unterbinden, so dass bei einem onmousedown auf dem Button dragstart nicht aufgerufen wird?
    Ich waere schon ueber Suchbegriffe froh, nach denen ich googlen kann.

    Hab hierzu mal ein Beispiel hochgeladen, wo man das nachvollziehen kann. Wenn man auf "Position speichrn" klickt sollte die Funktion dragstart nicht aufgerufen werden. Ist das irgendwie möglich?

    Vielleicht kann mir ja jetzt jemand Helfen?

    Das AJAX-Script funktioniert hier nicht, aber das hat ja eh nichts mit dem Problem zu tun.

    mfG,
    steckl

    1. Hi,

      Hab hierzu mal ein Beispiel hochgeladen, wo man das nachvollziehen kann. Wenn man auf "Position speichrn" klickt sollte die Funktion dragstart nicht aufgerufen werden. Ist das irgendwie möglich?

      Vielleicht kann mir ja jetzt jemand Helfen?

      Bin jetzt endlich selbst auf eine Lösung für mein Problem gekommen. Ist eigentlich ziemlich einfach, nur bin ich nicht drauf gekommen. Falls es noch wen interessiert:
      Bei onmouseover beim Button wird eine globale Variable auf 1 gesetzt, die bei onmouseout wieder auf 0 gesetzt wird. Wenn sie auf 1 ist passiert in der Drag-Funktion nichts.

      mfG,
      steckl