我正在尝试将jQuery UI的可拖动功能与jQuery Mobile的taphold事件相结合的移动应用程序。这个想法是一个元素在执行taphold时变得可拖动。结合jQuery Mobile taphold和jQuery UI可拖动
可拖动正在初始化在下列代码元素:
$('div.rect', '#outerBox').draggable({
containment: "parent",
grid: [50, 50],
disabled: true,
stop: function(event, ui) {
$(this).draggable('disable');
$(this).removeClass('highlighted');
}
});
正如你所看到的可拖动功能最初是被禁用的,因为我想taphold事件后启用它。要做到这一点我目前使用下面的代码:
// 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');
});
这工作,但问题是,“释放轻敲-again'事件需要以拖动元素,而不是拖拽事件后直接拖动。 这可能是某种事件干扰问题?我尝试了像event.preventDefault()
之类的东西,但是我对jQuery事件的了解并不多,所以我不知道这是否会产生任何影响。
有关如何解决这个问题的任何想法?
您的代码可以正常使用jQuery Mobile 1.4.4+,不需要以下建议的解决方法。 –