Avatar billede Daniel.E Praktikant
03. august 2005 - 12:20 Der er 8 kommentarer og
1 løsning

semi drag drop cross browser

hej

jeg har brug for noget hardcore javascript. 

hvis i forestiller jeg et normalt frameset eks...
   
-----------------
    |            |
drop|  element    |
    |            |
    |            |
-----------------

det som jeg vil søger er:

at man skal kunne drag droppe "element" og droppe det på "Drop", men uden at selve "element" bliver flyttet.  Det er kun referancen jeg er interesseret i at flytte med musen.

det som jeg vil er at hvis element var <div id="dragme" name="drag_information"></div>  så skulle name attributten var den som blev dragget til "drop".

så de aktuellse elementer skal ikke skifte plads, men jeg er interesseret i at dragge name attributten fra "element" til "drop".


hvis i ikke er med så sprøg endelig.
Avatar billede roenving Novice
03. august 2005 - 12:27 #1
Så 'drop' og 'element' er to forskellige frames ?-)
Avatar billede Daniel.E Praktikant
03. august 2005 - 12:41 #2
ja, det er helt korrekt :)
Avatar billede roenving Novice
03. august 2005 - 12:50 #3
Jeg kan forestille mig noget med at man på onmousedown på elementer i element-framen registrerer hvilket element, der trykkes på i en variabel i framesettet (parent.varNavn = aktueltElement), aflyser den variabel på onmouseup, og hvis onmouseup forkommer i drop-framen uden forudgående mousedown, aflæses variablen derfra !-)

-- det forudsætter selvfølgelig, at indholdet i alle frames har samme domæne, og jeg er desuden ikke sikker på hvordan events opfører sig, når man trækker med musen ...
Avatar billede Daniel.E Praktikant
03. august 2005 - 13:03 #4
så langt er jeg også kommet.  Men jeg gav op da mine fingre skulle skrive koden.  Jeg aner ikke hvor jeg skal begynde, ad jeg ved nada om drag and drop.

Du kender vel ikke til et eks på nettet, som gør noget lignede det som jeg siger ?
Avatar billede roenving Novice
03. august 2005 - 13:13 #5
På elementerne:

<tag ... onmousedown="parent.actElm='thisElement';" onmouseup="parent.actElm=null;">

-- på det element, som skal modtage:

<tag ... onmousedown="noDown=false;" onmouseup="if(noDown)goerNoget(parent.actElm);noDown=true;">

-- så skal vi lige definere en variabel i drop-framen:

<script type="text/javascript">
var noDown = true;
function goerNoget(elm){
  if(elm){
    //der er sat et element i parent
    //så en funktion kan udføres
  }
}
</script>

-- og også en i frameset-dokumentet:

<script type="text/javascript">var actElm = null;</script>

-- IE har nogle drag/drop-events, men jeg har ikke undersøgt om andre browsere har dem, men hvis ovenstående virker er det jo heller ikke nødvendigt !-)
Avatar billede Daniel.E Praktikant
03. august 2005 - 13:26 #6
ok, jeg ser på det.  vender tilbage her en af dagene.  Takker for hjælpen indtil vidre.

;)
Avatar billede Daniel.E Praktikant
30. august 2005 - 08:31 #7
Sorry >  der har været for meget arbejde på jobbet.

Lig et svar så får du p.
Avatar billede roenving Novice
30. august 2005 - 11:32 #8
Oki '-)
Avatar billede roenving Novice
01. september 2005 - 23:47 #9
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester