React-dnd: Π—Π΅Π»Π΅Π½Ρ‹ΠΉ Π·Π½Π°ΠΊ плюса Π² Chrome

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 18 ΠΌΠ°Ρ€. 2016  Β·  22ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: react-dnd/react-dnd

ΠšΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π», ΠΊΠ°ΠΊ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ плюса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° ΠΌΠ³Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ появляСтся Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ пСрСтаскивания Π² Chrome?

dnd quicktime player today at 8 24 18 pm

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

event.dataTransfer.dropEffect = 'none'
event.dataTransfer.effectAllowed = 'none'

Π­Ρ‚ΠΎ сработало для мСня Π½Π° Ρ…Ρ€ΠΎΠΌΠ΅. ΠŸΡ€ΠΎΡΡ‚ΠΎ помСститС Π΅Π³ΠΎ Π² события Β«dragstartΒ» ΠΈ Β«dragendΒ», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ dataTransfer.

ВсС 22 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

+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, Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Π³ΠΈΡ„ΠΊΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

greenplus

screen shot 2018-08-01 at 12 57 15 pm

Π£ мСня Ρ‚ΠΎΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. ΠŸΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² Chrome.

+1

+1 Ρ…Ρ€ΠΎΠΌ вСрсия 84.0.4147.89

edit: это происходит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ использовании ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ изобраТСния ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра:

useEffect(() => {
    preview(getEmptyImage(), { captureDraggingState: true });
  }, [preview]);

рСализация ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ