Drag Drop With Handle
I have a div which contains a span that is 16x16px. I want the drag event to start when user clicks and drags this icon but it should drag the whole div. I'm trying to follow this
Solution 1:
Here's a working example: https://jsfiddle.net/pwt1cbjc/
var draggable = document.getElementById('draggable');
var handle = document.getElementById('handle');
var target = false;
draggable.onmousedown = function(e) {
target = e.target;
};
draggable.ondragstart = function(e) {
if (handle.contains(target)) {
e.dataTransfer.setData('text/plain', 'handle');
} else {
e.preventDefault();
}
};
#draggable {
width: 100px;
height: 100px;
border: 1px solid black;
}
#handle {
width: 0;
height: 0;
border-right: 20px solid transparent;
border-top: 20px solid black;
cursor: move;
}
<h1>Drag Handle</h1><divid="draggable"draggable="true"><divid="handle"></div></div>
Solution 2:
I have slightly modified SaphuA's answer to allow highlighting text.
The trick is not to add the draggable
attribute until the drag handle gets the mousedown
event.
Here's a demo: https://jsfiddle.net/a6tgy9so/1/
Post a Comment for "Drag Drop With Handle"