我正在构建一个 jquerymobile (1.3.1) 应用程序并使用可拖动的 Jquery-UI 和touch-punch在移动设备上启用触摸事件。
我有一个长列表视图,列表视图中的每个元素只能在 x 轴上向左或向右拖动 10 像素。
问题是我无法向下滚动该列表视图,因为开始拖动。
我曾尝试使用可拖动的距离和滚动敏感度属性,但没有成功。
另外我找到了这个 SO 解决方案,但它也没有帮助我。
基本上我需要(至少我认为是这样)是在开始时(假设开始后 100 毫秒)知道 delta Y > delta X,如果是,则取消可拖动。
任何帮助将不胜感激。
var attachDrag = function(selector){
//alert("function attache drag")
$(selector).draggable({
axis: "x",
revert: true,
revertDuration: 50,
//scroll: true,
//distance: 20,
//scrollSensitivity: 10,
//containment: [-20, 0, 20, 0],
containment: "document",
//iframeFix: true,
start: function(event, ui) {
start = ui.position.left;
},
stop: function(event, ui) {
var tagid = $(event.target).attr("data-tagid");
sessionVars.setTagId(tagid);
stop = ui.position.left;
if (start < stop){//move right - rename
$('#popupTag').popup("open");
}else{ //move left - delete
$('#popupTag').popup("open");
}
}
});
}