/
dragDrop.js
25 lines (25 loc) · 866 Bytes
/
dragDrop.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
(function(){
var itemBoxes = document.querySelectorAll('.inventory-box');
[].forEach.call(itemBoxes, function(itemBox) {
itemBox.addEventListener('dragstart', handleDragStart);
itemBox.addEventListener('dragover', handleDragOver);
itemBox.addEventListener('drop', handleDrop);
});
var draggingObject;
function handleDragStart(e) {
draggingObject = this;
e.dataTransfer.setData('text/html', this.innerHTML);
var dragIcon = document.createElement('img');
var imageName = this.firstChild.id;
dragIcon.src = imageName + '.png';
e.dataTransfer.setDragImage(dragIcon, -10, 10);
}
function handleDragOver(e) {
e.preventDefault();
}
function handleDrop(e) {
var dragAppliedTo = this;
game.things.dropItemInto(draggingObject, dragAppliedTo.parentElement.parentElement.id);
e.preventDefault();
}
})();