Skip to content

Commit 7e2ee7f

Browse files
committed
Selectable: Fixes #4377
1 parent 7c4c86a commit 7e2ee7f

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

ui/selectable.js

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,10 @@ return $.widget("ui.selectable", $.ui.mouse, {
5656
selectees.addClass("ui-selectee");
5757
selectees.each(function() {
5858
var $this = $(this),
59+
context = $(that.options.appendTo),
5960
pos = $this.offset();
61+
pos.top += context.scrollTop();
62+
pos.left += context.scrollLeft();
6063
$.data(this, "selectable-item", {
6164
element: this,
6265
$element: $this,
@@ -91,9 +94,12 @@ return $.widget("ui.selectable", $.ui.mouse, {
9194

9295
_mouseStart: function(event) {
9396
var that = this,
94-
options = this.options;
97+
options = this.options,
98+
context = $(options.appendTo),
99+
scrollLeft = context.scrollLeft(),
100+
scrollTop = context.scrollTop();
95101

96-
this.opos = [ event.pageX, event.pageY ];
102+
this.opos = [ scrollLeft + event.pageX, scrollTop + event.pageY ];
97103

98104
if (this.options.disabled) {
99105
return;
@@ -106,8 +112,8 @@ return $.widget("ui.selectable", $.ui.mouse, {
106112
$(options.appendTo).append(this.helper);
107113
// position helper (lasso)
108114
this.helper.css({
109-
"left": event.pageX,
110-
"top": event.pageY,
115+
"left": scrollLeft + event.pageX,
116+
"top": scrollTop + event.pageY,
111117
"width": 0,
112118
"height": 0
113119
});
@@ -169,10 +175,11 @@ return $.widget("ui.selectable", $.ui.mouse, {
169175
var tmp,
170176
that = this,
171177
options = this.options,
178+
context = $(options.appendTo),
172179
x1 = this.opos[0],
173180
y1 = this.opos[1],
174-
x2 = event.pageX,
175-
y2 = event.pageY;
181+
x2 = event.pageX + context.scrollLeft(),
182+
y2 = event.pageY + context.scrollTop();
176183

177184
if (x1 > x2) { tmp = x2; x2 = x1; x1 = tmp; }
178185
if (y1 > y2) { tmp = y2; y2 = y1; y1 = tmp; }

0 commit comments

Comments
 (0)