Skip to content

Instantly share code, notes, and snippets.

@allenhwkim
Last active November 28, 2018 01:23
Show Gist options
  • Select an option

  • Save allenhwkim/e7a54e28c6d9fb0d9e826fc80de4181e to your computer and use it in GitHub Desktop.

Select an option

Save allenhwkim/e7a54e28c6d9fb0d9e826fc80de4181e to your computer and use it in GitHub Desktop.
Fire Dragstart and drop manually
var dragDataTransfer = {
data: {},
setData: function(type, value) { this.data[type] = value; },
getData: function(type) { return this.data[type] }
};
function getDragDropEvent(type, dataTransfer) {
var dragDropEvent = new DragEvent(type);
console.log('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', dataTransfer);
Object.defineProperty(dragDropEvent.constructor.prototype, 'dataTransfer', dataTransfer);
console.log('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', dragDropEvent.dataTransfer.getData('Text'));
return dragDropEvent;
}
dragDataTransfer.setData('Text', 'foo....................');
var dragstaEv = getDragDropEvent('dragstart', dragDataTransfer);
document.querySelector('#draggable').dispatchEvent(dragstaEv);
//
// var dropEV = getDragEvent('drop', dragDataTransfer);
// document.querySelector('#draggable').dispatchEvent(dropEv);
// console.log('............', dragstaEv.dataTransfer.getData('Text');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment