This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The draggable property of the HTMLElement interface gets and sets a Boolean primitive indicating if the element is draggable.
It reflects the value of the draggable HTML global attribute.
A Boolean primitive that is true if the element is draggable, false otherwise.
The following example shows how to enable or disable the element's ability to drag via script:
const draggableElement = document.querySelector(".draggable-element");
const notDraggableElement = document.querySelector(".not-draggable-element");
// enable the target element's ability to drag
draggableElement.draggable = true;
// disable the target element's ability to drag
notDraggableElement.draggable = false;
| Specification |
|---|
| HTML> # dom-draggable> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
draggable |
4 | 12 | 2 | 12 | 5 | 18 | 4 | 12 | 4 | 1.0 | 4.4 | 4 |
draggable HTML global attribute
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/draggable