Index: dragdrop.js =================================================================== --- dragdrop.js (revision 2962) +++ dragdrop.js (working copy) @@ -111,8 +111,8 @@ removeObserver: function(element) { // element instead of obsever fixes mem leaks this.observers = this.observers.reject( function(o) { return o.element==element }); }, - notify: function(eventName, draggable) { // 'onStart', 'onEnd' - this.observers.invoke(eventName, draggable); + notify: function(eventName, draggable, event) { // 'onStart', 'onEnd', 'onDrag' + this.observers.invoke(eventName, draggable, event); } } @@ -220,7 +220,7 @@ } if(success) Droppables.fire(event, this.element); - Draggables.notify('onEnd', this); + Draggables.notify('onEnd', this, event); var revert = this.options.revert; if(revert && typeof revert == 'function') revert = revert(this.element); @@ -291,11 +291,12 @@ this.element.parentNode.insertBefore(this._clone, this.element); } - Draggables.notify('onStart', this); + Draggables.notify('onStart', this, event); if(this.options.starteffect) this.options.starteffect(this.element); } Droppables.show(event, this.element); + Draggables.notify('onDrag', this, event); this.draw(event); if(this.options.change) this.options.change(this); @@ -316,13 +317,15 @@ this.observer = observer; this.lastValue = Sortable.serialize(this.element); }, - onStart: function() { + onStart: function(draggable, event) { this.lastValue = Sortable.serialize(this.element); }, - onEnd: function() { + onEnd: function(draggable, event) { Sortable.unmark(); if(this.lastValue != Sortable.serialize(this.element)) this.observer(this.element) + }, + onDrag: function(draggable, event) { } }