You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 2-ui/3-event-details/4-mouse-drag-and-drop/article.md
+1-28Lines changed: 1 addition & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,16 +17,11 @@ Ici, nous verrons comment implémenter le glisser-déposer à l'aide d'événeme
17
17
3. Sur `mouseup` - effectue toutes les actions liées à un Drag'n'Drop terminé.
18
18
19
19
20
-
<<<<<<< HEAD
21
20
Ce sont les bases. Plus tard, nous verrons comment utiliser d'autres fonctionnalités, telles que la mise en évidence des éléments sous-jacents actuels pendant que nous les glissons.
22
-
=======
23
-
These are the basics. Later we'll see how to add other features, such as highlighting current underlying elements while we drag over them.
24
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
25
21
26
22
Voici la mise en œuvre de faire glisser une balle :
27
23
28
24
```js
29
-
<<<<<<<HEAD
30
25
ball.onmousedown=function(event) {
31
26
// (1) la préparer au déplacement : réglé en absolute et en haut par z-index
// déplacez-le de tout parent actuel directement dans body
36
31
// pour le placer par rapport à body
37
32
document.body.append(ball);
38
-
=======
39
-
ball.onmousedown=function(event) {
40
-
// (1) prepare to moving: make absolute and on top by z-index
41
-
ball.style.position='absolute';
42
-
ball.style.zIndex=1000;
43
-
44
-
// move it out of any current parents directly into body
45
-
// to make it positioned relative to the body
46
-
document.body.append(ball);
47
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
48
33
49
34
// Centrer la balle aux coordonnées (pageX, pageY)
50
35
functionmoveAt(pageX, pageY) {
@@ -107,22 +92,14 @@ Donc nous devons écouter le `document` pour le capturer.
107
92
108
93
## Positionnent correcte
109
94
110
-
<<<<<<< HEAD
111
95
Dans les exemples ci-dessus la balle est toujours déplacée ainsi, de sorte à ce que son centre soit au-dessous du curseur:
112
-
=======
113
-
In the examples above the ball is always moved so that its center is under the pointer:
114
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
115
96
116
97
```js
117
98
ball.style.left= pageX -ball.offsetWidth/2+'px';
118
99
ball.style.top= pageY -ball.offsetHeight/2+'px';
119
100
```
120
101
121
-
<<<<<<< HEAD
122
102
Pas mal, mais il y a un effet secondaire. Pour initier le Glissser-Deposer, nous pouvons appliquer un `mousedown` n’importe où sur la balle. Mais si nous le faisons sur le rebord, alors la balle "saute" soudainement pour être centrée sous le curseur.
123
-
=======
124
-
Not bad, but there's a side effect. To initiate the drag'n'drop, we can `mousedown` anywhere on the ball. But if "take" it from its edge, then the ball suddenly "jumps" to become centered under the mouse pointer.
125
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
126
103
127
104
Ce serait mieux si nous gardions le changement initial de l’élément relativement au curseur.
128
105
@@ -239,11 +216,7 @@ C’est pourquoi l’idée initiale de mettre les gestionnaires sur des potentie
239
216
240
217
Alors, que faire?
241
218
242
-
<<<<<<< HEAD
243
-
Il existe une méthode appelée `document.elementFromPoint(clientX, clientY)`. Elle retourne l’élément le plus imbriqué sur les coordonnées données relativement à une fenêtre (oubien `null` les coordonnées données sont hors de la fenêtre).
244
-
=======
245
-
There's a method called `document.elementFromPoint(clientX, clientY)`. It returns the most nested element on given window-relative coordinates (or `null` if given coordinates are out of the window). If there are multiple overlapping elements on the same coordinates, then the topmost one is returned.
246
-
>>>>>>> bf7d8bb1af3b416d393af1c15b03cb1352da1f9c
219
+
Il existe une méthode appelée `document.elementFromPoint(clientX, clientY)`. Elle retourne l’élément le plus imbriqué sur les coordonnées données relatif à une fenêtre (ou bien `null` si les coordonnées données sont hors de la fenêtre). S'il y a plusieurs éléments qui se chevauchent sur les mêmes coordonnées, le plus haut est renvoyé.
247
220
248
221
Nous pouvons l’utiliser dans n’importe lequel de nos gestionnaires d’événements à la souris pour détecter le droppable potentiel sous le pointeur, comme ceci :
0 commit comments