From a3e2608108a36c83d54367db7bad3e1513c8793e Mon Sep 17 00:00:00 2001 From: ChiperSoft Date: Thu, 2 Feb 2012 20:02:46 -0800 Subject: [PATCH] Partial resolution to drop mistargeting when in a scroll region that has been scrolled. --- src/dragdrop.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/dragdrop.js b/src/dragdrop.js index 1a3afe0..ede2551 100644 --- a/src/dragdrop.js +++ b/src/dragdrop.js @@ -355,9 +355,13 @@ var Draggable = Class.create({ updateDrag: function(event, pointer) { if(!this.dragging) this.startDrag(event); + var dropPoint = (this.options.scroll && this.options.scroll != window) ? + [pointer[0] + this.options.scroll.scrollLeft, pointer[1] + this.options.scroll.scrollTop] : + pointer; + if(!this.options.quiet){ Position.prepare(); - Droppables.show(pointer, this.element); + Droppables.show(dropPoint, this.element); } Draggables.notify('onDrag', this, event); @@ -373,8 +377,8 @@ var Draggable = Class.create({ with(this._getWindowScroll(this.options.scroll)) { p = [ left, top, left+width, top+height ]; } } else { p = Position.page(this.options.scroll).toArray(); - p[0] += this.options.scroll.scrollLeft + Position.deltaX; - p[1] += this.options.scroll.scrollTop + Position.deltaY; + p[0] += Position.deltaX; + p[1] += Position.deltaY; p.push(p[0]+this.options.scroll.offsetWidth); p.push(p[1]+this.options.scroll.offsetHeight); }