@@ -61,7 +61,7 @@ return $.widget("ui.selectable", $.ui.mouse, {
61
61
that . _addClass ( that . selectees , "ui-selectee" ) ;
62
62
that . selectees . each ( function ( ) {
63
63
var $this = $ ( this ) ,
64
- pos = $this . offset ( ) ;
64
+ pos = $this . position ( ) ;
65
65
$ . data ( this , "selectable-item" , {
66
66
element : this ,
67
67
$element : $this ,
@@ -94,6 +94,7 @@ return $.widget("ui.selectable", $.ui.mouse, {
94
94
options = this . options ;
95
95
96
96
this . opos = [ event . pageX , event . pageY ] ;
97
+ this . elementPos = $ ( this . element [ 0 ] ) . offset ( ) ;
97
98
98
99
if ( this . options . disabled ) {
99
100
return ;
@@ -180,16 +181,22 @@ return $.widget("ui.selectable", $.ui.mouse, {
180
181
this . selectees . each ( function ( ) {
181
182
var selectee = $ . data ( this , "selectable-item" ) ,
182
183
hit = false ;
184
+ var offset = {
185
+ left : selectee . left + that . elementPos . left ,
186
+ right : selectee . right + that . elementPos . left ,
187
+ top : selectee . top + that . elementPos . top ,
188
+ bottom : selectee . bottom + that . elementPos . top
189
+ }
183
190
184
191
//prevent helper from being selected if appendTo: selectable
185
192
if ( ! selectee || selectee . element === that . element [ 0 ] ) {
186
193
return ;
187
194
}
188
195
189
196
if ( options . tolerance === "touch" ) {
190
- hit = ( ! ( selectee . left > x2 || selectee . right < x1 || selectee . top > y2 || selectee . bottom < y1 ) ) ;
197
+ hit = ( ! ( offset . left > x2 || offset . right < x1 || offset . top > y2 || offset . bottom < y1 ) ) ;
191
198
} else if ( options . tolerance === "fit" ) {
192
- hit = ( selectee . left > x1 && selectee . right < x2 && selectee . top > y1 && selectee . bottom < y2 ) ;
199
+ hit = ( offset . left > x1 && offset . right < x2 && offset . top > y1 && offset . bottom < y2 ) ;
193
200
}
194
201
195
202
if ( hit ) {
0 commit comments