Skip to content

Commit 561facd

Browse files
Jonas von AndrianJonas von Andrian
authored andcommitted
improve fix
1 parent 1563f32 commit 561facd

File tree

1 file changed

+20
-17
lines changed

1 file changed

+20
-17
lines changed

source/js/jquery-sortable.js

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -373,10 +373,7 @@
373373
return this.offsetParent
374374
},
375375
setPointer: function (e) {
376-
var pointer = {
377-
left: e.pageX || e.originalEvent.pageX,
378-
top: e.pageY || e.originalEvent.pageX
379-
}
376+
var pointer = this.getPointer(e)
380377

381378
if(this.$getOffsetParent()){
382379
var relativePointer = getRelativePosition(pointer, this.$getOffsetParent())
@@ -388,17 +385,16 @@
388385
this.pointer = pointer
389386
},
390387
distanceMet: function (e) {
391-
if(e.pageX == undefined || e.pageY == undefined) {
392-
return (Math.max(
393-
Math.abs(this.pointer.left - e.originalEvent.pageX),
394-
Math.abs(this.pointer.top - e.originalEvent.pageY)
395-
) >= this.options.distance)
396-
}
397-
else {
398-
return (Math.max(
399-
Math.abs(this.pointer.left - e.pageX),
400-
Math.abs(this.pointer.top - e.pageY)
401-
) >= this.options.distance)
388+
var currentPointer = this.getPointer(e)
389+
return (Math.max(
390+
Math.abs(this.pointer.left - currentPointer.left),
391+
Math.abs(this.pointer.top - currentPointer.top)
392+
) >= this.options.distance)
393+
},
394+
getPointer: function(e) {
395+
return {
396+
left: e.pageX || e.originalEvent.pageX,
397+
top: e.pageY || e.originalEvent.pageY
402398
}
403399
},
404400
setupDelayTimer: function () {
@@ -466,11 +462,18 @@
466462
var rootGroup = this.rootGroup
467463

468464
if( !rootGroup.dragInitDone &&
469-
e.which === 1 &&
470-
this.options.drag) {
465+
this.options.drag &&
466+
this.isValidDrag(e)) {
471467
rootGroup.dragInit(e, this)
472468
}
473469
},
470+
isValidDrag: function(e) {
471+
if(e.type == "touchstart"){
472+
return e.originalEvent.touches.length == 1;
473+
} else {
474+
return e.which == 1
475+
}
476+
},
474477
searchValidTarget: function (pointer, lastPointer) {
475478
var distances = sortByDistanceDesc(this.getItemDimensions(),
476479
pointer,

0 commit comments

Comments
 (0)