Draggable блокирует событие касанияJquery

Программирование на jquery
Ответить
Anonymous
 Draggable блокирует событие касания

Сообщение Anonymous »

Я пытаюсь использовать перетаскивание для перемещения элемента div вперед и назад. Эта часть работает нормально, пока в div нет прокручиваемого содержимого. Это не проблема на рабочем столе из-за полосы прокрутки, но проблема возникает на сенсорных устройствах. Поскольку событие касания конфликтует с событием перетаскивания, я не могу прокручивать содержимое. Я пытался создать условие, определяющее, было ли перетаскивание более горизонтальным, чем вертикальным.

Я надеялся предотвратить перетаскивание во время вертикального сенсорного взаимодействия, но метод перетаскивания пользовательского интерфейса все равно срабатывает и переопределяет событие касания. Я использую плагин touch-punch, чтобы перетаскивание работало на сенсорных устройствах, так что, возможно, что-то там усложнило ситуацию. Было бы здорово, если бы я мог вообще запретить запуск метода перетаскивания пользовательского интерфейса до тех пор, пока не будет выполнено условие горизонтального перетаскивания. Я думаю, это устранит помехи.

Код: Выделить всё

// note the condition inside the drag function
start: function(e){

// get starting point of the drag
startDragX = e.pageX;
startDragY = e.pageY;
},
drag: function(e, ui){

// prevent drag until user has moved 30px horizontally
if (Math.abs(e.pageX - startDragX) < 30){
ui.position.left = 0;
} else {
if (ui.position.left < 0) {

// left drag
ui.position.left = ui.position.left + 30;
} else {
// right drag
ui.position.left = ui.position.left - 30;
}
}
}
Вот скрипт, демонстрирующий проблему (тест на сенсорном устройстве): http://jsfiddle.net/jTMxS/2/

Подробнее здесь: https://stackoverflow.com/questions/192 ... ouch-event
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»