ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΈΠΏΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄ drag drop ΡΠ°ΡΠΈ ΠΈ Π±ΡΠΎΡΠ°ΠΉ
Π’ΡΡΠΎΡΠΈΠ°Π». Π‘ΠΏΠΈΡΠΎΠΊ Π·Π°Π΄Π°Ρ Ρ drag & drop
Π ΡΡΠΎΠΌ ΡΡΡΠΎΡΠΈΠ°Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΠΊΡ drag & drop Π½Π° Π²Π°Π½ΠΈΠ»ΡΠ½ΠΎΠΌ JavaScript. ΠΠΎΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Ρ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ β Β«ΠΏΠΎΡΡΠ½ΠΈ ΠΈ Π±ΡΠΎΡΡΒ» β ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΡΡΡΡ ΡΡΡΠ΅ΠΊΡΠ°, ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ΅ Π»ΡΠ±ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. Drag & drop ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ°ΠΊΠΈΡ :
ΠΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ drag & drop Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π΄Π°Ρ.
HTML Drag and Drop API
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ HTML5 Π΅ΡΡΡ API, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΠΊΡ drag & drop. ΠΠ½ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Ρ Π²Π°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΌΡΡΡΡ ΠΈ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎΡ API ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
ΠΠ°Π»Π΅Π΅ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ΄ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΡΠ°ΠΏΠ°Ρ . ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΅ΡΡΡ Π½Π° MDN, Π° ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅.
ΠΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π·Π°Π΄Π°Ρ ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ HTML Drag and Drop API.
ΠΡΡΡΡΠΊΠ° ΠΈ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π·Π°Π΄Π°Ρ
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π±Π°Π·ΠΎΠ²ΡΡ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ:
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ drag & drop
Π¨Π°Π³ 1. Π Π°Π·ΡΠ΅ΡΠΈΠΌ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
Π£ΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ ΠΏΠΎΠΊΠ° ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ°Π½ΡΠΎΠΌΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ. Π‘Π²ΠΎΠ΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π΅ ΠΌΠ΅Π½ΡΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅.
Π¨Π°Π³ 2. ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° Π½Π°ΡΠ°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ
ΠΡΠ΄Π΅ΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ dragstart ΠΈ dragend Π½Π° Π²ΡΡΠΌ ΡΠΏΠΈΡΠΊΠ΅. Π Π½Π°ΡΠ°Π»Π΅ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΠ»Π°ΡΡ selected ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ»ΠΎ Π²ΡΠ·Π²Π°Π½ΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅. ΠΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ΄Π°Π»ΡΡΡ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ.
Π¨Π°Π³ 3. Π Π΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ
ΠΠ»Ρ ΠΏΠΎΠΈΡΠΊΠ° nextElement ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ΅ΡΠ½Π°ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ. ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΡ Ρ Π½ΠΈΠΌ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, ΠΏΡΠΎΡΠΈΡΠ°Π² ΡΡΠ°ΡΡΡ.
Π ΡΠ΅Π»ΠΎΠΌ ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠΈΠΉΡΡ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠ΄ β ΡΠ°Π±ΠΎΡΠΈΠΉ. Π£ΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π»ΠΈ. ΠΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π΅ΡΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ β ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΊΡΡΡΠΎΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ. Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π»ΠΎΠ³ΠΈΡΠ½Π΅Π΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠ΅Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π’ΠΎ Π΅ΡΡΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π²ΡΡΠ°Π²ΠΊΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΡΡΡΠΎΡ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΡ ΠΎΡΡ, Π° Π½Π΅ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ. Π§ΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ nextElement Π΄ΡΡΠ³ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
Π¨Π°Π³ 4. Π£ΡΡΡΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π½ΡΡΠ°
ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΊΡΠ΅ΠΏΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π΄Π²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ΅ΡΡΠ°ΠΌΠΈ β Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π½Π°Π²ΠΎΠ΄ΠΈΠΌ ΠΊΡΡΡΠΎΡ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΄ Π½ΠΈΠΌ. ΠΠΎΠΊΠ° ΠΌΡ Π½Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΠ»ΠΈΡΡ ΠΊ ΡΠ΅Π½ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎΠΊΠ° ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² DOM ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ. ΠΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΡΡΡΠΎΡ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΡ ΠΎΡΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠ°Π²Π»Π΅Π½ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π½Π°Π²Π΅Π»ΠΈ ΠΊΡΡΡΠΎΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ: ΠΌΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π½ΡΡΠ°, Π»ΠΈΡΠ½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² DOM ΠΈΡΠΊΠ»ΡΡΠΈΠ»ΠΈ ΠΈ, Π³Π»Π°Π²Π½ΠΎΠ΅, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎΡΡΠΈΡΡΡΡΡΡ β Π·Π°Π΄Π°ΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°! ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΠ΅Π½ΠΈΡ β Π² Π½Π°ΡΠ΅ΠΉ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ.
ΠΠΎΠ»Π΅Π·Π½ΠΎΡΡΠΈ
Drag and drop β ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ ΡΠΈΠ»Ρ JavaScript
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ·Π½Π°ΡΡ Π²ΡΡ ΠΌΠΎΡΡ, Π·Π°ΠΏΠΈΡΠΈΡΠ΅ΡΡ Π½Π° ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°ΡΠΈΡ ΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΠ΅ Π½Π° ΠΊΡΡΡ.
ΠΠ°ΠΆΠ°ΡΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ β ΡΠΎΠ³Π»Π°ΡΠΈΠ΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Drag&Drop Π² HTML 5
ΠΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Drag&Drop ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ JavaScript-ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΌΠΎΠ³Π»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π HTML 5 Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ± Π³ΡΠ°ΠΌΠΎΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Drag&Drop, Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ JavaScript. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Drag&Drop Π² HTML 5.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ
ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΡ Drag&Drop Π² HTML 5 ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π²ΡΠ΅ΠΌΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΠΌΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ, (ΡΠ°ΡΡΠΈΡΠ½ΠΎ Π΄Π°ΠΆΠ΅ IE 5.5!), ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ°ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ caniuse.com.
Π‘ΠΎΠ±ΡΡΠΈΡ Drag&Drop
ΠΠΈΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΡΠΎΠ±ΡΡΠΈΡ Drag&Drop, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ:
ΠΠ±ΡΠ΅ΠΊΡ dataTransfer
ΠΠ΄Π΅ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΡΠΈΠΌΠ΅Ρ Drag&Drop
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Drag&Drop, Π³Π΄Π΅ Π΄Π²Π° ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ ΡΠΈΠ½ΠΈΡ div’Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π² Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΡΠ°ΡΠ½ΡΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²Π΅ΡΠ½ΡΡΡ ΠΈΡ Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ.
ΠΠ°ΡΠ°Π»ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ HTML-ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ Π±Π»ΠΎΠΊΠΎΠ², Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π°ΡΡΠΈΠ±ΡΡ draggable:
ΠΠ°ΡΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ JavaScript-ΡΡΠ½ΠΊΡΠΈΡ Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΡΠ΅ΡΡΠ°:
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π·Π°Π΄Π°Π½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ β move, Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ β ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° β ΡΠΈΠΏ (Text) ΠΈ ID. Π ΡΡΠ΅ΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ setDragImage ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ°, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ° 200Ρ 200 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ.
ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
ΠΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°Π΄Π°ΡΡ ΡΡΠΈ ΡΠΎΠ±ΡΡΠΈΡ: dragEnter, dragOver ΠΈ drop:
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ JavaScript-ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ β ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ»ΡΡΠΈΡΡΡΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΊΡΡΡΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΡΠ΅Π½:
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π°Π΄Π°Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ β ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ° ΡΠΎΠ½Π°, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΠΈ Ρ.Π΄. ΠΠ°Π»Π΅Π΅ β Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠ°ΠΏ. ΠΠ΄Π΅ΡΡ Π·Π°Π΄Π°ΡΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ:
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΠΈΠ½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡ Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ. Π ΡΡΠ°ΡΡΡΡ, ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ, ΠΎΡΡΠ°Π»ΠΎΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Drag&Drop, ΠΈ Π·Π°ΡΠ°ΡΡΡΡ ΠΎΠ½ΠΈ ΠΏΡΠΎΡΠ΅ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ, ΡΠ΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π²ΡΠ΅ ΡΠ°ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ²ΡΠ·ΠΊΠ° HTML5 & JavaScript.
Drag’n’Drop API: ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ, Π΄ΡΡΠ·ΡΡ!
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΡΡΠΎΡΠΈΠ°Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅.
Π‘ΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎΡΡΠΈ ΡΠ°Π΄ΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΌΡΡΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΠ»ΡΡ ΠΠ°Π½ΡΠΎΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΡΠ΅Π±Π½ΠΈΠΊΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΎΠΏΠΈΡΠ°ΡΡΡ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
ΠΠ»Ρ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Bootstrap.
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΏΡΠΎΡΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π·Π° ΠΌΠ½ΠΎΠΉ.
Π Π°Π·ΠΌΠ΅ΡΠΊΠ°:
ΠΠ΄Π΅ΡΡ Ρ Π½Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ ΠΏΠΎΠ»Π΅ΠΌ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ° Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π΄Π»Ρ Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ (input-group), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°-ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (list-group) Π΄Π»Ρ Π²ΡΠ΅Ρ Π·Π°Π΄Π°Ρ (todos-list), Π·Π°Π΄Π°Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (in-progress-list) ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ (completed-list). Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Β«dataΒ», ΡΠΎ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ: ΠΊΠ»Π°ΡΡΡ β Π΄Π»Ρ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ, data β Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΠ»Π°ΡΡΡ Β«in-progressΒ» ΠΈ Β«completedΒ» ΡΠ»ΡΠΆΠ°Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅. ΠΠ»Π°ΡΡ Β«dropΒ» ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π² Π·ΠΎΠ½Ρ Π΄Π»Ρ Β«Π±ΡΠΎΡΠ°Π½ΠΈΡΒ».
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΠΊΡΠΈΠΏΡΡ, ΠΎΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π½Π°ΠΌΠΈ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ, Π½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ .
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π³Π»Π°Π²Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠΈΡΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π±ΡΠ΄Π΅Ρ Π΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ:
Π Π΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΊΠ»ΠΈΠΊΠ°:
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ Π² Π·ΠΎΠ½Ρ Π΄Π»Ρ Β«Π±ΡΠΎΡΠ°Π½ΠΈΠ΅Β» ΠΈ ΡΡ ΠΎΠ΄ ΠΈΠ· Π½Π΅Π΅ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ/ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°:
ΠΠ°Π»Π΅Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ Π½Π°ΡΠ°Π»ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ:
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ ΠΏΠΎΠ΄ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌΡΠΌ. ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡ Π·Π°Π΄Π°ΡΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅, Ρ.Π΅. ΠΌΠ΅Π½ΡΡΡ Π·Π°Π΄Π°ΡΠΈ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. ΠΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Β«mousemoveΒ» Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Β«elementFromPoint(x, y)Β». ΠΡΠ΅Π»Π΅ΡΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Β«Π½ΠΈΠ·Π»Π΅ΠΆΠ°ΡΠ΅Π³ΠΎΒ» ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π°ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ Β«dragoverΒ»:
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ Β«dropΒ» (Β«Π±ΡΠΎΡΠ°Π½ΠΈΠ΅Β»):
ΠΠΎΡ ΠΈ Π²ΡΠ΅. ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ. ΠΠ°ΡΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ. ΠΡΡΠ°Π»ΠΎΡΡ Π΄ΠΎΠΆΠ΄Π°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ Π΄Π°Π½Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅ΠΌ ΡΡΠ°ΡΡΡΠ΅.
ΠΠ°Π΄Π΅ΡΡΡ, Π²Ρ Π½Π°ΡΠ»ΠΈ Π΄Π»Ρ ΡΠ΅Π±Ρ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ Π΄Π½Ρ.
ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ DRAG and DROP ΡΡΡΠ΅ΠΊΡΠ°
ΠΡΠΈΠ΄Ρ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΊ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ DRAG and DROP ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΠΎΡΠ΅Π½Ρ ΡΡΠΆΠ΅Π»ΡΠΌ Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ (ΠΡΠΎ ΠΌΠΎΠ΅ ΡΡΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅. ΠΡΠΎΡΡ Ρ Π½ΠΈΠΌ Π½Π΅ ΡΠΎΠ³Π»Π°ΡΠ°ΡΡΡΡ, Π° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΡΠΎΡΠΎΠ½). Π ΡΠ΅ΡΠΈΠ» Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠ°ΡΡ ΡΡΠ°ΡΠ΅ΠΉ, Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΡ Π½Π° Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΠΏΠΎΠ·Π½Π°ΡΡ Π΄Π·Π΅Π½.
Π‘ΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉ:
ΠΠ°ΡΠ°Π³ΡΠ°Ρ β1 ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ DRAG and DROP ΡΡΡΠ΅ΠΊΡΠ°
ΠΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ°, ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ½ΠΎ. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Ρ Π² ΡΠΎΠ»ΠΈ Π³ΡΡΠ·ΡΠΈΠΊΠ°, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠΈΡΡ ΠΊΠΎΡΠΎΠ±ΠΊΡ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π½Π° Π΄ΡΡΠ³ΠΎΠ΅. ΠΠ»Ρ Π³ΡΡΠ·ΡΠΈΠΊΠ° ΡΡΠΎ Β«ΠΡ Π²Π·ΡΠ», Π½Ρ ΠΏΠ΅ΡΠ΅Π½Π΅Ρ. ΠΠΎΡΠΎΠ²ΠΎ!Β», Π° Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° βΠΠΎΠ΄ΠΎΡΠ΅Π» ΠΊ ΠΊΠΎΡΠΎΠ±ΠΊΠ΅, Π½Π°ΠΊΠ»ΠΎΠ½ΠΈΠ»ΡΡ, Π²Π·ΡΠ» ΠΊΠΎΡΠΎΠ±ΠΊΡ, ΠΏΠΎΠ΄Π½ΡΠ» ΠΊΠΎΡΠΎΠ±ΠΊΡ, ΠΏΡΠΎΡΠ΅Π» N ΡΠ°Π³ΠΎΠ², Π½Π°ΠΊΠ»ΠΎΠ½ΠΈΠ»ΡΡ, ΠΎΡΠΏΡΡΡΠΈΠ» ΠΊΠΎΡΠΎΠ±ΠΊΡ.β. Π― ΡΡΠΎ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠΈΠ³ΡΠ°ΠΉΡΠ΅ Π²ΡΠ΅ Π² Π³ΠΎΠ»ΠΎΠ²Π΅, ΠΏΠΎ ΡΠ°Π³Π°ΠΌ ΠΈ Π²Ρ ΡΡΠ°Π½Π΅ΡΠ΅ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΈΡΡΠΈΠ½Π΅.
Π― Ρ ΠΎΡΡ ΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡΡΡ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΈΡΠ΅ ΠΎ Π²ΡΠ΅Ρ . Π― Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠΈΡΠ°Ρ ΡΠ°ΠΌΡΠΌ ΡΠ΄ΠΎΠ±Π½ΡΠΌ.
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ DRAG and DROP ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ, ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ draggable=’true’.
,
ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Ρ Ρ
ΠΎΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ, Π° ΠΏΠΎΡΠ»Π΅ ΠΌΡ Π΅Π³ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΠΈΠΌ Π½Π° Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΡ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π² JS ΠΈ ΠΊΠ°ΠΊ Π²Π°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ DRAG and DROP:
dragstart β ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ.
drag β ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΡΡΡ.
dragend β ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ» ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
dragenter β ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ.
dragleave β ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΠΊΠΈΠ΄Π°Π΅Ρ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ.
dragover β ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π½Π°Π΄ ΡΠ΅Π»ΡΡ.
drop β ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ°Π΄Π°Π΅Ρ Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ! Π‘ΠΎΠ±ΡΡΠΈΡ Π΄Π΅Π»ΡΡΡΡ Π½Π° Π΄Π²Π΅ Π³ΡΡΠΏΠΏΡ. ΠΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (ΡΠΎΡ ΠΊΠΎΠ³ΠΎ ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌ): dragstart, Drag, Dragend. ΠΠ»Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (ΠΊΡΠ΄Π° ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌ): Dragenter, Dragleave, Dragover, Drop. Π ΡΡΠΈ ΡΠΎΠ±ΡΡΠΈΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, Π½ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄ΡΡΠ³ Π±Π΅Π· Π΄ΡΡΠ³Π°.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ: ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΡΠ°ΠΌ, Π³Π΄Π΅ ΠΌΡ ΠΎΡΠΏΡΡΡΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΌΡΡΠΈ. ΠΡΠ° Π·Π°Π΄Π°ΡΠ° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ.
ΠΠ΅ΡΡΠΏΠΎΡΠ½ΠΎ, ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΄Π΅Π»Π°Π½ Π½Π° ΠΊΠΎΠ»Π΅Π½ΠΊΠ΅, Π½ΠΎ ΠΎΠ½ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
Π― ΡΡΠΈΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ Π½ΠΈ ΠΊ ΡΠ΅ΠΌΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π² ΡΡΡΠΎΡΠΊΠ΅ d1.addEventListener(‘dragstart’,function() <Π²Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ‘dragstart’ Π½Π° Π»ΡΠ±ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅, ΡΠ°ΠΌΠΈ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ Π½ΠΈΠΌ ΠΏΠΎΠΈΠ³ΡΠ°ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π΄Π°ΠΆΠ΅ ΡΠ°ΠΊ, ΠΏΠΎΠΈΠ³ΡΠ°ΠΉΡΠ΅ ΠΈ ΡΠΎ ΡΡΠΎ Π²Π°ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ ΠΏΠΎΠΊΠ°ΠΆΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ , ΡΠ°ΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ·Π½Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ ΡΠ°ΠΌ ΡΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ.
ΠΠ°ΡΠ°Π³ΡΠ°Ρ β2. ΠΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ DROP Π² DRAG and DROP
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΡΠ΅ Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅ ΡΡΠΎ drop Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄Π΅Π»Π°ΡΡ Π°ΡΠ°ΡΠ° ΡΠ΅ΠΌ, ΠΊΡΠΎ ΡΠ΅ΡΠΈΠ» Β«Π ΡΡΠΎ Π²ΡΡβ¦ Π₯ΡΡ , Π΅ΡΡΠ½Π΄Π°Β».
ΠΡΠΎ ΠΏΡΠΈΠΌΠΈΡΠ΅ ΠΊΠ°ΠΊ ΡΠ°ΠΊΡ, Π±Π΅Π· Π½Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ.
ΠΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ drag&drop Π½Π° ΡΠΈΡΡΠΎΠΌ JavaScript
Π ΡΡΠΎΠΌ ΡΡΡΠΎΡΠΈΠ°Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΠΊΡ drag&drop Π½Π° Π²Π°Π½ΠΈΠ»ΡΠ½ΠΎΠΌ JavaScript. ΠΠΎΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Ρ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ β Β«ΠΏΠΎΡΡΠ½ΠΈ ΠΈ Π±ΡΠΎΡΡΒ» β ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΡΡΡΡ ΡΡΡΠ΅ΠΊΡΠ°, ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ΅ Π»ΡΠ±ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
Drag & drop ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ°ΠΊΠΈΡ :
ΠΡΠΎΡΡΠΎΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ β ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ Π·Π°Π΄Π°Ρ Π² ΡΠ°ΡΠΊ-ΡΡΠ΅ΠΊΠ΅ΡΠ΅.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡΠΈΠΌΠ΅Ρ β ΠΏΠ΅ΡΠ΅Π½ΠΎΡ Π·Π°Π΄Π°ΡΠΈ Π² ΡΠ°ΡΠΊ-ΡΡΠ΅ΠΊΠ΅ΡΠ΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π² Π΄ΡΡΠ³ΠΎΠΉ.
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΎΠΊΠ½ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
ΠΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ drag & drop Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π΄Π°Ρ.
HTML Drag and Drop API
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ HTML5 Π΅ΡΡΡ API, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΠΊΡ drag & drop. ΠΠ½ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Ρ Π²Π°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΌΡΡΡΡ ΠΈ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎΡ API ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
ΠΠ°Π»Π΅Π΅ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ΄ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΡΠ°ΠΏΠ°Ρ . ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΅ΡΡΡ Π½Π° MDN, Π° ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅.
drag β ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ΅Π½ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄, ΠΏΠΎΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΡΡΡ.
dragstart β ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
dragend β ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π² ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ.
dragover β ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ΅Π½ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄, ΠΏΠΎΠΊΠ° ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π°Π΄ Π·ΠΎΠ½ΠΎΠΉ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ±ΡΠΎΡΠ΅Π½.
drop β ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π±ΡΠΎΡΠ΅Π½, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠ½ Π² ΡΠ΅ΠΊΡΡΡΡ Π·ΠΎΠ½Ρ.
ΠΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π·Π°Π΄Π°Ρ ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ HTML Drag and Drop API.
ΠΡΡΡΡΠΊΠ° ΠΈ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π·Π°Π΄Π°Ρ
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π±Π°Π·ΠΎΠ²ΡΡ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ:
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ drag & drop
Π¨Π°Π³ 1. Π Π°Π·ΡΠ΅ΡΠΈΠΌ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
Π£ΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ ΠΏΠΎΠΊΠ° ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ°Π½ΡΠΎΠΌΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ. Π‘Π²ΠΎΠ΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π΅ ΠΌΠ΅Π½ΡΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅.
Π¨Π°Π³ 2. ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° Π½Π°ΡΠ°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ
ΠΡΠ΄Π΅ΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ dragstart ΠΈ dragend Π½Π° Π²ΡΡΠΌ ΡΠΏΠΈΡΠΊΠ΅. Π Π½Π°ΡΠ°Π»Π΅ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΠ»Π°ΡΡ selected ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ»ΠΎ Π²ΡΠ·Π²Π°Π½ΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅. ΠΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ΄Π°Π»ΡΡΡ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ.
Π¨Π°Π³ 3. Π Π΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ
ΠΠ΅Π»Π°Π΅ΠΌ Π²ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΡΠΏΠΈΡΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π΄Π»Ρ ΡΠ±ΡΠΎΡΠ°.
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ dragover ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π½Π΅ Π½Π° Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠ½Π°ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° β ΠΎΠ½ ΡΠΆΠ΅ Π½Π° Π½ΡΠΆΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅.
Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΡΠΎ dragover ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ°. ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΊΡΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΈ Π½Π° ΠΏΡΡΡΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, Π° ΠΎΠ½ΠΎ Π½Π°Ρ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ.
ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΡΠΎΡΡΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ Π²ΡΡΠ°Π²ΠΊΡ. Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ, ΡΡΠ°Π²Π½ΠΈΠ² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π²Π΅Π΄ΡΠ½ ΠΊΡΡΡΠΎΡ.
ΠΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π° Π½ΠΎΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ.
ΠΠ»Ρ ΠΏΠΎΠΈΡΠΊΠ° nextElement ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ΅ΡΠ½Π°ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ. ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΡ Ρ Π½ΠΈΠΌ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, ΠΏΡΠΎΡΠΈΡΠ°Π² ΡΡΠ°ΡΡΡ.
Π ΡΠ΅Π»ΠΎΠΌ ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠΈΠΉΡΡ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠ΄ β ΡΠ°Π±ΠΎΡΠΈΠΉ. Π£ΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π»ΠΈ. ΠΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π΅ΡΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ β ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΊΡΡΡΠΎΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ. Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π»ΠΎΠ³ΠΈΡΠ½Π΅Π΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠ΅Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π’ΠΎ Π΅ΡΡΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π²ΡΡΠ°Π²ΠΊΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΡΡΡΠΎΡ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΡ ΠΎΡΡ, Π° Π½Π΅ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ. Π§ΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ nextElement Π΄ΡΡΠ³ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
Π¨Π°Π³ 4. Π£ΡΡΡΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π½ΡΡΠ°
ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΊΡΠ΅ΠΏΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π΄Π²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ΅ΡΡΠ°ΠΌΠΈ β Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π½Π°Π²ΠΎΠ΄ΠΈΠΌ ΠΊΡΡΡΠΎΡ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΄ Π½ΠΈΠΌ. ΠΠΎΠΊΠ° ΠΌΡ Π½Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΠ»ΠΈΡΡ ΠΊ ΡΠ΅Π½ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎΠΊΠ° ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² DOM ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ. ΠΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΡΡΡΠΎΡ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΡ ΠΎΡΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠ°Π²Π»Π΅Π½ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π½Π°Π²Π΅Π»ΠΈ ΠΊΡΡΡΠΎΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ: ΠΌΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π½ΡΡΠ°, Π»ΠΈΡΠ½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² DOM ΠΈΡΠΊΠ»ΡΡΠΈΠ»ΠΈ ΠΈ, Π³Π»Π°Π²Π½ΠΎΠ΅, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎΡΡΠΈΡΡΡΡΡΡ β Π·Π°Π΄Π°ΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°! ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΠ΅Π½ΠΈΡ β Π² Π½Π°ΡΠ΅ΠΉ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ.
ΠΠΎΠ»Π΅Π·Π½ΠΎΡΡΠΈ
HTML Drag and Drop API Π½Π° MDN. ΠΡΡ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± API.
Native HTML5 Drag and Drop. Π‘ΡΠ°ΡΡΡ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ API ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π½Π° ΡΡΡΡΠΊΠΈΠΉ.
How to make a Drag-and-Drop file uploader with vanilla JavaScript. Π‘ΡΠ°ΡΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ drag & drop.
Drag & drop Ρ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ ΠΌΡΡΠΈ. ΠΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΠΊΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ HTML Drag and Drop API. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·-Π·Π° ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ API ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ.
10 Best Drag And Drop JavaScript Libraries. Π‘ΠΏΠΈΡΠΎΠΊ JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ drag & drop.