@@ -124,7 +124,7 @@ $.widget( "ui.draggable", {
124
124
} ,
125
125
126
126
_mouseDown : function ( event ) {
127
- var newLeft , newTop ;
127
+ var newLeft , newTop , allowed ;
128
128
129
129
// Prevent text selection, among other things
130
130
event . preventDefault ( ) ;
@@ -183,11 +183,10 @@ $.widget( "ui.draggable", {
183
183
184
184
this . _preparePosition ( event ) ;
185
185
186
- this . _trigger ( "start" , event , this . _uiHash ( ) ) ;
186
+ allowed = this . _trigger ( "start" , event , this . _uiHash ( ) ) ;
187
187
188
- // TODO: should user be able to change position of draggable, if event stopped?
189
188
// If user stops propagation, leave helper there ( if there's one ), disallow any CSS changes
190
- if ( event . cancelBubble = == true ) {
189
+ if ( allowed ! == true ) {
191
190
this . doc . unbind ( "." + this . widgetName ) ;
192
191
return ;
193
192
}
@@ -201,15 +200,15 @@ $.widget( "ui.draggable", {
201
200
} ,
202
201
203
202
_mouseMove : function ( event ) {
204
- var newLeft , newTop ;
205
-
203
+ var newLeft , newTop , allowed ;
204
+
206
205
this . _preparePosition ( event ) ;
207
206
208
- this . _trigger ( "drag" , event , this . _uiHash ( ) ) ;
209
-
210
- // TODO: should user be able to change position of draggable, if event stopped?
207
+ allowed = this . _trigger ( "drag" , event , this . _uiHash ( ) ) ;
208
+
209
+
211
210
// If user stops propagation, leave helper there ( if there's one ), disallow any CSS changes
212
- if ( event . cancelBubble = == true ) {
211
+ if ( allowed ! == true ) {
213
212
this . doc . unbind ( "." + this . widgetName ) ;
214
213
return ;
215
214
}
@@ -221,14 +220,15 @@ $.widget( "ui.draggable", {
221
220
} ,
222
221
223
222
_mouseUp : function ( event ) {
223
+
224
+ var allowed ;
224
225
225
226
this . _preparePosition ( event ) ;
226
227
227
- this . _trigger ( "stop" , event , this . _uiHash ( ) ) ;
228
+ allowed = this . _trigger ( "stop" , event , this . _uiHash ( ) ) ;
228
229
229
- // TODO: should user be able to change position of draggable, if event stopped?
230
230
// If user stops propagation, leave helper there, disallow any CSS changes
231
- if ( event . cancelBubble ! == true ) {
231
+ if ( allowed = == true ) {
232
232
233
233
this . _setCss ( event ) ;
234
234
@@ -293,10 +293,17 @@ $.widget( "ui.draggable", {
293
293
} ,
294
294
295
295
_uiHash : function ( event ) {
296
- return {
297
- position : this . position ,
298
- offset : this . offset
296
+ var ret = {
297
+ position : this . position
298
+ // offset: this.offset
299
299
} ;
300
+
301
+ if ( this . options . helper ) {
302
+ ret . helper = this . dragEl ;
303
+ }
304
+
305
+ return ret ;
306
+
300
307
}
301
308
} ) ;
302
309
0 commit comments