# Prevent browser default drag behavior

**URL:** https://discuss.prosemirror.net/t/prevent-browser-default-drag-behavior/8996
**Category:** Uncategorized
**Created:** [April 8, 2026, 12:02am UTC](https://discuss.prosemirror.net/t/prevent-browser-default-drag-behavior/8996 "2026-04-08T00:02:16Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![SMores](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/smores/32/3356_2.png) [@SMores](https://discuss.prosemirror.net/u/SMores)
#### Post date: [April 8, 2026, 12:02am UTC](https://discuss.prosemirror.net/t/prevent-browser-default-drag-behavior/8996/1 "2026-04-08T00:02:16Z")

</div>

prosemirror-view, as best I can tell, will try very hard to add `draggable="true"` to any node that does not have `draggable: false` _and_ `selectable: false`.

I’m seeing:

1. In ViewDesc.create, if a node has no contentDOM and is draggable, `draggable` is set to true
2. In ViewDesc.selectNode, if a node has no contentDOM or is not draggable, `draggable` is set to true. This covers every node not covered by step one, _unless_ they have a custom node view with a selectNode override
3. And then in input.ts, the MouseDown handler class checks if there’s a NodeSelection on the target node, and adds `draggable="true"` if so. So that covers every node that can have a NodeSelection.

This makes it very challenging to override the default browser drag behavior. The default browser drag behavior has some nice things going for it, but also has some downsides (notably, pretty limited control over the actual visual representation of the drag interaction).

So I guess my questions are:

1. Am I missing something? Is there a way to disable the default browser draggable behavior for a node type?
2. If not, would it be possible to add support for that?

---

<div class="post-metadata">

### Author: ![marijn](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/marijn/32/15_2.png) [@marijn](https://discuss.prosemirror.net/u/marijn)
#### Post date: [April 8, 2026, 11:10am UTC](https://discuss.prosemirror.net/t/prevent-browser-default-drag-behavior/8996/2 "2026-04-08T11:10:58Z")

</div>

Does calling `preventDefault` on `dragstart` events not do the trick?

---

<div class="post-metadata">

### Author: ![SMores](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/smores/32/3356_2.png) [@SMores](https://discuss.prosemirror.net/u/SMores)
#### Post date: [April 8, 2026, 12:00pm UTC](https://discuss.prosemirror.net/t/prevent-browser-default-drag-behavior/8996/3 "2026-04-08T12:00:51Z")

</div>

😅 It sure does! I would have sworn that I actually tried that early on, but probably I had some other issue that I’ve since resolved.

Thanks Marijn, sorry to bother!
