ΠΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π», ΠΊΠ°ΠΊ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ ΠΏΠ»ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° ΠΌΠ³Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ Π² Chrome?
+1
ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² Chrome 49 Π½Π° Mac ΠΈΠ»ΠΈ Chrome 49 Π½Π° Windows Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅: http://gaearon.github.io/react-dnd/examples-drag-around-naive.html
ΠΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ Π²Π°ΠΌΠΈ? ΠΠ°ΠΊΡΡ Π²Π΅ΡΡΠΈΡ Chrome Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΈ ΠΊΠ°ΠΊΡΡ ΠΠ‘?
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΊΡΡΡΠΎΡΠ°, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π·Π΄Π΅ΡΡ: http://gaearon.github.io/react-dnd/examples-customize-drop-effects.html?
Π― Π²ΠΈΠΆΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΠΎ Π²ΡΠ΅Ρ
ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
Π² Chrome 49 Π½Π° Mac (Π²ΡΠ΅ Π΅ΡΠ΅ 10.10). Π Π½Π°ΡΠ°Π»Π΅ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ ΠΊΡΡΡΠΎΡ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° Π·Π΅Π»Π΅Π½ΡΠΉ Π·Π½Π°ΠΊ ΠΏΠ»ΡΡΠ° (ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ cursor: copy
); ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΊΡΡΡΠΎΡΠΎΠΌ Β«ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡΒ».
Π― ΠΌΠΎΠ³Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠ²ΡΠ·Π°Π»ΠΈ Ρ @globexdesigns (Chrome 49, OSX 10.11) - ΠΎΠ½ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π΄ΠΎΠ»Ρ ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
Π― ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΡΡΠΎ Π»ΠΈΠ±ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° React ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ dnd Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ (Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ), Π»ΠΈΠ±ΠΎ ΠΎΡΠΈΠ±ΠΊΠ° Π² Chrome. Π― ΠΏΠΎΠΈΠ³ΡΠ°Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ (Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΌΠ΅Π½Ρ Π½Π΅ ΠΎΠΏΠ΅ΡΠ΅Π΄ΠΈΡ) ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΡ, ΡΠΌΠΎΠ³Ρ Π»ΠΈ Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΌ ΡΠ΅ΠΏΡΠΎ.
Π― Π²ΠΈΠΆΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π² Chrome 49 OSX 10.11.4 - ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° Π΄ΠΎΠ»Ρ ΡΠ΅ΠΊΡΠ½Π΄Ρ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² Safari ΠΈΠ»ΠΈ Firefox.
@EvNaverniouk Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Chrome 49 ΠΈ OS X 10.11.4, ΠΈ Π΄Π°, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΡΠ΅ Π΅ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΈ Π΄Π°, Ρ Π²ΠΈΠΆΡ Π·Π½Π°ΡΠΎΠΊ ΠΊΠΎΠΏΠΈΠΈ ΠΊΠΎΠΏΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ, Π² ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΡΡΡΠ»Π°Π»ΠΈΡΡ http://gaearon.github.io/react -dnd / examples-customize-drop-effects.html
Π’Π°ΠΊΠΆΠ΅ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ Π² Chrome 50 Π½Π° OS X 10.11.2.
ΡΠ°ΠΊΠΆΠ΅ Π²ΠΈΠΆΡ ΡΡΠΎΡ Chrome 51 Π² OS X 10.10.1
Π― ΡΠ°ΠΊΠΆΠ΅ Π²ΠΈΠΆΡ ΡΡΠΎ Π² Chrome Π²Π΅ΡΡΠΈΠΈ 51 Π² OSX 10.11.4.
ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ: ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ ΡΠ»ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ connectDragPreview ΠΈ getEmptyImage (), ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΠΈΡΡΠ΅Π·Π»Π°.
Π― ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π²ΠΈΠ΄Π΅Π» ΡΡΠΎ Π² React DnD, Π° ΡΠ°ΠΊΠΆΠ΅ Π² Π΄ΡΡΠ³ΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ
, ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π» Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ HTML5. Π― ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΡ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ effectAllowed
Π² ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΠΈ.
ΠΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ? Π‘ΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π² Chrome 53 OSX 10.10.5
ΠΠΈΠ΄ΠΈΡΠ΅ ΡΠΎ ΠΆΠ΅ Chrome 54.0.2840.71 10.11.6, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΅ΡΡΡ?
+1
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ {dropEffect: 'copy'}
ΠΌΠ°ΡΠΊΠΈΡΡΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ (Π΄Π΅Π»Π°Ρ Π·Π΅Π»Π΅Π½ΡΠΉ ΠΏΠ»ΡΡ Π²ΡΠ΅Π³Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΡΠΌ); Π½ΠΎ Π½Π΅ ΠΈΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΠ΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ {dropEffect: 'move'}
Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΠΊΡΡΡΠΎΡ Π² ΡΠ΅ΡΡΡΠ΅Ρ
ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠΈΠ΅.
ΠΠ΅ΡΡΠΈΡ Chrome: 55.0.2883.95 (ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ±ΠΎΡΠΊΠ°) (64-ΡΠ°Π·ΡΡΠ΄Π½Π°Ρ Π²Π΅ΡΡΠΈΡ)
ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ Π½Π΅ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
@fredguest ΠΡ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ?
@Yamikamisama, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π΅Ρ.
ΠΠ΅Π»Π΅Π½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Ρ ΠΏΠ»ΡΡΠΎΠΌ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π΄Π»Ρ ΠΌΠ΅Π½Ρ, ΠΏΠΎΠΊΠ° ΠΌΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ canDrop Π½Π΅ Π²Π΅ΡΠ½Π΅Ρ false, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡ.
event.dataTransfer.dropEffect = 'none'
event.dataTransfer.effectAllowed = 'none'
ΠΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π½Π° Ρ ΡΠΎΠΌΠ΅. ΠΡΠΎΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π² ΡΠΎΠ±ΡΡΠΈΡ Β«dragstartΒ» ΠΈ Β«dragendΒ», ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ dataTransfer.
ΠΡΠΎ ΠΌΠ½Π΅ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ
event.dataTransfer.dropEffect = 'none'
event.dataTransfer.effectAllowed = 'none'
ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΌΠ³Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ cursor: 'grab'
ΠΈ cursor: 'grabbing'
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΎΠ½ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ gif, Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Π³ΠΈΡΠΊΠΎΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π£ ΠΌΠ΅Π½Ρ ΡΠΎΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΎΡΠΈΠ±ΠΊΡ Π² Chrome.
+1
+1 Ρ ΡΠΎΠΌ Π²Π΅ΡΡΠΈΡ 84.0.4147.89
edit: ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ Π½Π΅ Π±ΡΠ»ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°:
useEffect(() => {
preview(getEmptyImage(), { captureDraggingState: true });
}, [preview]);
ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ΅ΡΠ°Π΅Ρ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π½Π° Ρ ΡΠΎΠΌΠ΅. ΠΡΠΎΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π² ΡΠΎΠ±ΡΡΠΈΡ Β«dragstartΒ» ΠΈ Β«dragendΒ», ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ dataTransfer.