Skip to content

Instantly share code, notes, and snippets.

@unickq
Created April 20, 2020 15:41
Show Gist options
  • Save unickq/fd8add083686b126773d76f2f2a40004 to your computer and use it in GitHub Desktop.
Save unickq/fd8add083686b126773d76f2f2a40004 to your computer and use it in GitHub Desktop.
function createEvent(typeOfEvent) {
var event =document.createEvent("CustomEvent");
event.initCustomEvent(typeOfEvent,true, true, null);
event.dataTransfer = {
data: {},
setData: function (key, value) {
this.data[key] = value;
},
getData: function (key) {
return this.data[key];
}
};
return event;
}
function dispatchEvent(element, event,transferData) {
if (transferData !== undefined) {
event.dataTransfer = transferData;
}
if (element.dispatchEvent) {
element.dispatchEvent(event);
} else if (element.fireEvent) {
element.fireEvent("on" + event.type, event);
}
}
function simulateHTML5DragAndDrop(element, destination) {
var dragStartEvent =createEvent('dragstart');
dispatchEvent(element, dragStartEvent);
var dropEvent = createEvent('drop');
dispatchEvent(destination, dropEvent,dragStartEvent.dataTransfer);
var dragEndEvent = createEvent('dragend');
dispatchEvent(element, dragEndEvent,dropEvent.dataTransfer);
}
var source = arguments[0];
var destination = arguments[1];
simulateHTML5DragAndDrop(source,destination);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment