Bonjour à tous,
je rencontre un problème lié au drag&drop :
j'ai sur ma page plusieurs DIV (contenant des photos) dont la fonction drag&drop est appelée par javascript.
Jusque là tout va bien...
Or, lorsque je place un lien sur l'image contenue dans une DIV,
la fonction drag&drop ne fonctionne plus.
Je cherche une solution qui me permette par exemple d'atteindre mon lien par double-click pour que la fonction drag&drop soit conservée.
Petite précision; le lien de l'image appelle un lightbox en javascript (et non un lien externe).
J'ai donc le code suivant;
mon drag&drop en javascript:
et dans mon html :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 function positionne(p_id, p_posX, p_pos_Y){ document.getElementById(p_id).style.left = p_posX; document.getElementById(p_id).style.top = p_pos_Y; } function getPositionCurseur(e){ //ie if(document.all){ curX = event.clientX; curY = event.clientY; } //netscape 4 if(document.layers){ curX = e.pageX; curY = e.pageY; } //mozilla if(document.getElementById){ curX = e.clientX; curY = e.clientY; } } function beginDrag(p_obj,e){ isDragging = true; objectToDrag = p_obj; getPositionCurseur(e); ecartX = curX - parseInt(objectToDrag.style.left); ecartY = curY - parseInt(objectToDrag.style.top); } function drag(e){ var newPosX; var newPosY; if(isDragging == true){ getPositionCurseur(e); newPosX = curX - ecartX; newPosY = curY - ecartY; objectToDrag.style.left = newPosX + 'px'; objectToDrag.style.top = newPosY + 'px'; } } function endDrag(){ isDragging = false; }
PS: vous aurez compris que je ne suis pas un foudre de guerre en programmation, je suis photographe de formation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <head> <script type="text/javascript" src="lightbox.js"></script> </head> <body onmousemove="drag(event);"> <div id="img" onmousedown="beginDrag(this,event);" onmouseup="endDrag();"> <a href="image2.jpg" rel="lightbox"> <img src="image1.jpg" width="70" height="99"/> </a> </div> <script type="text/javascript"> positionne('img', '290px', '84px'); isDragging = false; </script> </body>![]()
Partager