Je voudrais adapter, pour des raisons de réutilisabilité et de praticité, le script suivant:
http://www.howtocreate.co.uk/jslibs/htmlhigh/draglayer.html(...)
testable ici:
http://www.howtocreate.co.uk/jslibs/otherdemo.html#gdl(...)
En remplaçant l'utilisation du document.write (bakaka!) fabricant la div flottante et plus généralement la fonction createDragableLayer par une fonction du type:
function makeThisLayerDragable(id)
{
document.getElementById(id).onmouseover="this.onmousedown=dragIsDown;";
document.getElementById(id).ondragstart="return false;";
document.getElementById(id).onselectstart="return false;";
}
qui comme son nom l'indique, transforme une div existante en div déplaceable.
L'idéal pour moi serait de placer l'appel à la fonction makeThisLayerDragable('madiv') dans le onload de body (à cause du #@+X!! de logiciel que je suis obligé d'utiliser--Webdev) et afin que ce soit réutilisable très facilement.
j'ai donc essayé avec ma fonction, et constatant que ça ne fonctionnait pas, j'ai d'abord déplacé mon appel de la fonction makeThisLayerDragable après la création de la div (je ne suis pas pro du JS, et je ne sais pas si le fait de mettre tout ça dans le header et le onload de body ne pose pas de problème). Ca ne fonctionne pas non plus
j'ai sorti le DOM Inspector de Firefox:
Quand je regarde la structure de ma div en mode "Object -Javascript Object" je vois bien les trois gestionnaires d'évènement rajoutés par ma fonction, par contre je ne les vois pas en mode "DOM Node". Quand je regardes le code produit par l'utilisation "normale" du JS en appelant createDragableLayer, là par contre, je vois les 3 gestionnaire dans le mode "DOM Node".
Alors voilà je comprends pas trop, à priori mon code me paraît simple et juste mais il doit y avoir un détail qui cloche!!!
merci pour tout idée ou toute aide ;)
# Plus de details ?
Posté par Mathieu Pillard (site web personnel) . Évalué à 2.
File une url pour tester, que on y voit plus clair.
[^] # Re: Plus de details ?
Posté par Temsa (site web personnel) . Évalué à 1.
[^] # Re: Plus de details ?
Posté par Temsa (site web personnel) . Évalué à 1.
document.getElementById(id).setAttribute("onmouseover","this.onmousedown=dragIsDown;");
reste à trouver comment parer à ce problème pour IE...
[^] # Re: Plus de details ?
Posté par Temsa (site web personnel) . Évalué à 1.
document.getElementById(id).onmousedown=dragIsDown;
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.