Сочетание jQuery Mobile taphold и jQuery UI с возможностью перетаскивания

Я работаю над мобильным приложением, в котором я пытаюсь объединить перетаскиваемую функциональность пользовательского интерфейса jQuery с событием касания jQuery Mobile. Идея состоит в том, что элемент становится перетаскиваемым при выполнении метки.

Draggable инициализируется для элементов в следующем коде:

$('div.rect', '#outerBox').draggable({
    containment: "parent", 
    grid: [50, 50],
    disabled: true,
    stop: function(event, ui) {
        $(this).draggable('disable');
        $(this).removeClass('highlighted');
    }
}); 

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

// Bind long press event to rectangle elements
$('div.rect', '#outerBox').bind('taphold', function(event, ui) {
    // Enable dragging on long press
    $(this).addClass('highlighted');
    $(this).draggable('enable');
}); 

Это работает, но проблема в том, что событие «release-and-tap-again» необходимо для перетаскивания элемента, а не перетаскивания непосредственно после события taphold. Может ли это быть какой-то проблемой вмешательства события? Я пробовал такие вещи, какevent.preventDefault() но мои знания о событиях jQuery невелики, поэтому я понятия не имею, должно ли это иметь какое-то значение.

Есть идеи, как решить эту проблему?

Ответы на вопрос(2)

Ваш ответ на вопрос