Drag'n Drop unter Mozilla
Thomas Eisenstein
- javascript
0 Joachim0 Thomas
0 Tobias Müller0 wahsaga0 Andreas Lindig
Hallo,
ich habe im Netz gesucht und gesucht, aber es gibt so gut wie keine Tuts oder Beispiele zu den Drag'n Drop Events unter Mozilla.
in der offiziellen Referenz existieren onDragdrop, onDragenter usw. aber es läuft gar nichts. Im IE habe ich das ganze teil bereits fertig, aber es macht mir den Anschein (auch wegen der sehr gerringen Suchresultate) dass es in Mozilla nicht wirklich D'nD gibt.. da ich bis jetzt noch zu wenig Ahnung von Mozilla habe möchte ich diese Frage ans Forum weiterleiten.
grüße,
Tom
Hi,
ich habe im Netz gesucht und gesucht, aber es gibt so gut wie keine Tuts oder Beispiele zu den Drag'n Drop Events unter Mozilla.
Da kannst Du ein bisschen spielen: http://anna.wendenburg.de/stefanie.html
Gruesse, Joachim
das ist leider alles was Anderes als das was ich meine..
es soll ein D'nD Filetree werden. Hier der Code der im IE funzt:
<div onDragStart="ft_drag()" onDragEnter="window.event.returnValue=false ;" onDragOver="ft_checkdroppable(ft_parents)" onDrop="ft_drop(this.elmid, this.elmposition)" id="selectref__folder_2_caption_text" elmid="4" elmposition="0" onMousedown="ft_select_element(this.elmid, this.id)" onMouseover="this.style.cursor = 'hand'" unselectable="on" style="background-color: '#FF0000'"> <img src="images/folderClosed.gif">unterordner</div>
<div onDragStart="ft_drag()" onDragEnter="window.event.returnValue=false ;" onDragOver="window.event.returnValue=false " onDrop="ft_drop(this.elmid, this.elmposition)" id="selectref__ref_1000_caption_text" elmid="1000" elmposition="1" onMousedown="ft_select_element(this.elmid, this.id)" onMouseover="this.style.cursor = 'hand'" style="background-color: '#FFCC00'"><img src="images/leaf.gif">Datei 1</div>
lt. Mozilla.org gibt es onDrag Events
http://www.mozilla.org/docs/dom/domref/dom_event_ref33.html
die aber im Firefox gar nichts auslösen ;(
Hallo Thomas,
ich habe im Netz gesucht und gesucht, aber es gibt so gut wie keine Tuts oder Beispiele zu den Drag'n Drop Events unter Mozilla.
in der offiziellen Referenz existieren onDragdrop, onDragenter usw. aber es läuft gar nichts. Im IE habe ich das ganze teil bereits fertig, aber es macht mir den Anschein (auch wegen der sehr gerringen Suchresultate) dass es in Mozilla nicht wirklich D'nD gibt.. da ich bis jetzt noch zu wenig Ahnung von Mozilla habe möchte ich diese Frage ans Forum weiterleiten.
Meinst du mit "Drag'n Drop" vielleicht sowas? Das funktioniert mit Mozilla. Von den von dir genannten Eventhandlern hingegen habe ich noch nie etwas gehört.
Am besten du postest mal den entsprechenden Code oder eine Url und erläuterst mal genauer, was du erreichen willst und wo es hakt.
MfG, Mülli
hi,
in der offiziellen Referenz existieren onDragdrop, onDragenter usw. aber es läuft gar nichts. Im IE habe ich das ganze teil bereits fertig, aber es macht mir den Anschein (auch wegen der sehr gerringen Suchresultate) dass es in Mozilla nicht wirklich D'nD gibt..
"braucht" man die erwähnten eventhandler denn überhaupt?
was "ist" denn drag&drop eigentlich? mit der maus irgendwo drauf klicken, dabei maustaste gedrückt halten und das element "ziehen", und maustaste wieder loslassen - das sollte sich doch m.E. auch durch eine kombination von onMousedown, onMousemove und onMouseup abbilden lassen.
gruß,
wahsaga
das sollte sich doch m.E. auch durch eine kombination von
onMousedown, onMousemove und onMouseup abbilden lassen.
ich brauche eine Rückmeldung über welchem Element das onMouseup-Event (->onDrop) passiert.
wie soll das ohne onDrop funktionieren?
Hi,
das sollte sich doch m.E. auch durch eine kombination von
onMousedown, onMousemove und onMouseup abbilden lassen.
problemlos.
ich brauche eine Rückmeldung über welchem Element das onMouseup-Event (->onDrop) passiert.
Nein. Du musst wissen, ueber welchem Element onmousedown feuert, denn dies ist Dein "aktives" element. Von nun an verschiebst Du es gemeinsam mit jeder Mausbewegung - bis zum onmouseup. Das muss lediglich jegliche Aktion stoppen.
Gruesse, Joachim
Nein. Du musst wissen, ueber welchem Element onmousedown feuert, denn dies ist Dein "aktives" element. Von nun an verschiebst Du es gemeinsam mit jeder Mausbewegung - bis zum onmouseup. Das muss lediglich jegliche Aktion stoppen.
doch.
Sämtliche Beispiele die hier gepostet wurde kenne ich und erfüllen nicht die Funktion die im IE mit den onDrag-Ereignissen möglich sind.
Element A soll mit gedrückter Maustaste über Element B geschoben werden können und sobald Mouseup feuert soll Element B melden dass Element A über ihm liegt. Die genannten Beispiele behandeln nur das Verschieben von Elm. A ohne Elm. B miteinzubeziehen. Wie gesagt, im IE habe ich das wunderbar realisieren könenn, bloß frage ich mich warum onDrag Events hier keiner kennt und noch viel schlimmer es sie im Mozilla nicht gibt.
danke an Alle,
thomas
Hallo,
sobald Mouseup feuert soll Element B melden dass Element A über ihm liegt.
warum das denn? Mir ist nicht klar, was Du willst. Dir vielleicht auch nicht?
Ich habe das Script, das ich Dir weiter oben empfohlen habe etwas erweitert, sodaß das angeklickte Element immer mit rotem Rahmen als aktiv gekennzeichnet ist. Genauso könnte man stattdessen eine z-Index Verschiebung machen, sodaß es oben liegt - keine Ahnung, ob Du das willst.
Gruß, Andreas
Hallo Thomas,
Die Ereignisse kennt hier vermutlich niemand, weil sie eine MS-Erfindung sind.
Weder die HTML 4 noch die DOM 2 oder 3 Event Spezifikation sehen so etwas vor.
Im Prinzip bräuchtest Du einen mouseover-Event, der auch ausgelöst wird, wenn der Mauszeiger über dem Element ist, unabhängig davon, ob Elemente darüber liegen.
Es bleibt Dir wohl nichts anderes übrig, als so etwas selbst zu implementieren, indem Du die Mauskoordinaten mit den Koordinaten des Zielobjektes vergleichst.
Grüße
Daniel
Hallo Tomas,
ich habe im Netz gesucht und gesucht,
nicht nötig. es gibt ein Beispiel in den Tips und Tricks
Gruß, Andreas