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:
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;
}
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
 
<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>
PS: vous aurez compris que je ne suis pas un foudre de guerre en programmation, je suis photographe de formation