diff --git a/lib/dragster.js b/lib/dragster.js index 691dae2..1d4594a 100644 --- a/lib/dragster.js +++ b/lib/dragster.js @@ -8,11 +8,18 @@ this.el = el; this.dragleave = __bind(this.dragleave, this); this.dragenter = __bind(this.dragenter, this); + this.drop = __bind(this.drop, this); if (this.supportsEventConstructors()) { this.first = false; this.second = false; this.el.addEventListener("dragenter", this.dragenter, false); this.el.addEventListener("dragleave", this.dragleave, false); + this.el.addEventListener("drop", this.drop, false); + this.el.addEventListener("dragover", this.dragover, false); + this.dragsterDropEvent = new CustomEvent('dragster:drop', { + bubbles: true, + cancelable: true + }); this.dragsterEnterEvent = new CustomEvent('dragster:enter', { bubbles: true, cancelable: true @@ -24,6 +31,17 @@ } } + Dragster.prototype.drop = function(event) { + this.first = false; + this.second = false; + return this.el.dispatchEvent(this.dragsterDropEvent); + }; + + Dragster.prototype.dragover = function(event) { + event.preventDefault(); + return false; + }; + Dragster.prototype.dragenter = function(event) { if (this.first) { return this.second = true;