Method of easily dragging and dropping elements on a page, requiring minimal JavaScript.
| Spec | https://html.spec.whatwg.org/multipage/interaction.html#dnd |
|---|---|
| Status | WHATWG Living Standard |
| IE | Edge | Firefox | Chrome | Safari | Opera |
|---|---|---|---|---|---|
| 108 | |||||
| 107 | 107 | TP | |||
| 106 | 106 | 16.1 | |||
| 11 (2,3) | 105 | 105 | 105 | 16.0 | 91 |
| 10 (2,3) | 104 | 104 | 104 | 15.6 | 90 |
| 9 (1,3) | 103 | 103 | 103 | 15.5 | 89 |
| 8 (1,3) | 102 | 102 | 102 | 15.4 | 88 |
| Show all | |||||
| 7 (1,3) | 101 | 101 | 101 | 15.2-15.3 | 87 |
| 6 (1,3) | 100 | 100 | 100 | 15.1 | 86 |
| 5.5 (1,3) | 99 | 99 | 99 | 15 | 85 |
| 98 | 98 | 98 | 14.1 | 84 | |
| 97 | 97 | 97 | 14 | 83 | |
| 96 | 96 | 96 | 13.1 | 82 | |
| 95 | 95 | 95 | 13 | 81 | |
| 94 | 94 | 94 | 12.1 | 80 | |
| 93 | 93 | 93 | 12 | 79 | |
| 92 | 92 | 92 | 11.1 | 78 | |
| 91 | 91 | 91 | 11 | 77 | |
| 90 | 90 | 90 | 10.1 | 76 | |
| 89 | 89 | 89 | 10 | 75 | |
| 88 | 88 | 88 | 9.1 | 74 | |
| 87 | 87 | 87 | 9 | 73 | |
| 86 | 86 | 86 | 8 | 72 | |
| 85 | 85 | 85 | 7.1 | 71 | |
| 84 | 84 | 84 | 7 | 70 | |
| 83 | 83 | 83 | 6.1 | 69 | |
| 81 | 82 | 81 | 6 | 68 | |
| 80 | 81 | 80 | 5.1 | 67 | |
| 79 | 80 | 79 | 5 | 66 | |
| 18 | 79 | 78 | 4 | 65 | |
| 17 (2) | 78 | 77 | 3.2 | 64 | |
| 16 (2) | 77 | 76 | 3.1 | 63 | |
| 15 (2) | 76 | 75 | 62 | ||
| 14 (2) | 75 | 74 | 60 | ||
| 13 (2) | 74 | 73 | 58 | ||
| 12 (2) | 73 | 72 | 57 | ||
| 72 | 71 | 56 | |||
| 71 | 70 | 55 | |||
| 70 | 69 | 54 | |||
| 69 | 68 | 53 | |||
| 68 | 67 | 52 | |||
| 67 | 66 | 51 | |||
| 66 | 65 | 50 | |||
| 65 | 64 | 49 | |||
| 64 | 63 | 48 | |||
| 63 | 62 | 47 | |||
| 62 | 61 | 46 | |||
| 61 | 60 | 45 | |||
| 60 | 59 | 44 | |||
| 59 | 58 | 43 | |||
| 58 | 57 | 42 | |||
| 57 | 56 | 41 | |||
| 56 | 55 | 40 | |||
| 55 | 54 | 39 | |||
| 54 | 53 | 38 | |||
| 53 | 52 | 37 | |||
| 52 | 51 | 36 | |||
| 51 | 50 | 35 | |||
| 50 | 49 | 34 | |||
| 49 | 48 | 33 | |||
| 48 | 47 | 32 | |||
| 47 | 46 | 31 | |||
| 46 | 45 | 30 | |||
| 45 | 44 | 29 | |||
| 44 | 43 | 28 | |||
| 43 | 42 | 27 | |||
| 42 | 41 | 26 | |||
| 41 | 40 | 25 | |||
| 40 | 39 | 24 | |||
| 39 | 38 | 23 | |||
| 38 | 37 | 22 | |||
| 37 | 36 | 21 | |||
| 36 | 35 | 20 | |||
| 35 | 34 | 19 | |||
| 34 | 33 | 18 | |||
| 33 | 32 | 17 | |||
| 32 | 31 | 16 | |||
| 31 | 30 | 15 | |||
| 30 | 29 | 12.1 | |||
| 29 | 28 | 12 | |||
| 28 | 27 | 11.6 | |||
| 27 | 26 | 11.5 | |||
| 26 | 25 | 11.1 | |||
| 25 | 24 | 11 | |||
| 24 | 23 | 10.6 | |||
| 23 | 22 | 10.5 | |||
| 22 | 21 | 10.0-10.1 | |||
| 21 | 20 | 9.5-9.6 | |||
| 20 | 19 | 9 | |||
| 19 | 18 | ||||
| 18 | 17 | ||||
| 17 | 16 | ||||
| 16 | 15 | ||||
| 15 | 14 | ||||
| 14 | 13 | ||||
| 13 | 12 | ||||
| 12 | 11 | ||||
| 11 | 10 | ||||
| 10 | 9 | ||||
| 9 | 8 | ||||
| 8 | 7 | ||||
| 7 | 6 | ||||
| 6 | 5 | ||||
| 5 | 4 | ||||
| 4 | |||||
| 3.6 | |||||
| 3.5 | |||||
| 3 | |||||
| 2 | |||||
| Safari on iOS | Opera Mini | Android Browser | Blackberry Browser | Opera Mobile | Android Chrome | Android Firefox | IE Mobile | Android UC Browser | Samsung Internet | QQ Browser | Baidu Browser | KaiOS Browser |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 16.1 | ||||||||||||
| 16.0 | all | 105 (4) | 10 | 64 (4) | 105 (4) | 104 | 11 | 13.4 (4) | 18.0 | 13.1 | 13.18 | 2.5 |
| 15.6 | 4.4.3-4.4.4 | 7 | 12.1 | 10 | 17.0 | |||||||
| 15.5 | 4.4 | 12 | 16.0 | |||||||||
| 15.4 | 4.2-4.3 | 11.5 | 15.0 | |||||||||
| Show all | ||||||||||||
| 15.2-15.3 | 4.1 | 11.1 | 14.0 | |||||||||
| 15.0-15.1 | 4 | 11 | 13.0 | |||||||||
| 14.5-14.8 | 3 | 10 | 12.0 | |||||||||
| 14.0-14.4 | 2.3 | 11.1-11.2 | ||||||||||
| 13.4-13.7 | 2.2 | 10.1 | ||||||||||
| 13.3 | 2.1 | 9.2 | ||||||||||
| 13.2 | 8.2 | |||||||||||
| 13.0-13.1 | 7.2-7.4 | |||||||||||
| 12.2-12.5 | 6.2-6.4 | |||||||||||
| 12.0-12.1 | 5.0-5.4 | |||||||||||
| 11.3-11.4 | 4 | |||||||||||
| 11.0-11.2 | ||||||||||||
| 10.3 | ||||||||||||
| 10.0-10.2 | ||||||||||||
| 9.3 | ||||||||||||
| 9.0-9.2 | ||||||||||||
| 8.1-8.4 | ||||||||||||
| 8 | ||||||||||||
| 7.0-7.1 | ||||||||||||
| 6.0-6.1 | ||||||||||||
| 5.0-5.1 | ||||||||||||
| 4.2-4.3 | ||||||||||||
| 4.0-4.1 | ||||||||||||
| 3.2 | ||||||||||||
dataTransfer.items only supported by Chrome.
Currently no browser supports the dropzone attribute.
Firefox supports any kind of DOM elements for .setDragImage. Chrome must have either an HTMLImageElement or any kind of DOM Element attached to the DOM _and within the viewport_ of the browser for .setDragImage.
Partial support refers to no support for the dataTransfer.files or .types objects
Partial support refers to not supporting .setDragImage
Partial support refers to limited supported formats for dataTransfer.setData/getData.
Not supported in Chromium browsers on Android 6 or older.
Chrome strips out newlines from text/uri-list see bug
In Chrome, DataTransfer.addElement is not implemented. There is no other way to implement a draggable object which updates during the drag due to some other circumstances (e.g. changes color on a valid drop spot), as it is just a static image if addElement is not supported.
In Firefox, an element won't drag unless the dragstart handler sets dataTransfer data (even if it doesn't get retrieved). Test case
In Firefox, drag and drop does not work when the page is served as application/xhtml+xml Mozilla Bug #751778, Mozilla Bug #1106160
In Firefox, the dragstart event does not fire on button elements. This effectively disables drag and drop for button elements.
Safari doesn't implement the DragEvent interface. It adds a dataTransfer property to MouseEvent instead. See WebKit bug #103423.
In Safari 8, after setting event.dataTransfer.dropEffect, the value in the drop event is always 'none'
In IE9-10, the draggable attribute could be effectively applied for a and img elements. For div and span elements you should call element.dragDrop() to start drag event.
In IE9-11, using "text/plain" as the format for event.dataTransfer.setData and event.dataTransfer.getData reportedly does not work and causes a JS error. The format needs to be "text", which seems to work in all the mainstream browsers (Chrome, Safari, Firefox, IE9-11, Edge).
Data by caniuse.com
Licensed under the Creative Commons Attribution License v4.0.
https://caniuse.com/dragndrop