我正在构建一个jquerymobile(1.3.1)应用程序并使用Jquery-UI draggable, 和touch-punch以在移动设备上启用触摸事件。
我有一个很长的列表视图,listview中的每个元素只能在x轴上向左或向右拖动10 px。
问题是我无法向下滚动列表视图,导致拖动开始。
我尝试使用draggable的distance和scrollSensitivity属性,但没有成功。
此外我发现this SO solution,但它也没有帮助我。
基本上我需要的(至少我认为是这样)是知道delta Y> delta X,在开始时(假设在开始后100 ms)并且如果是,则取消可拖动。
任何帮助将不胜感激。
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");
}
}
});
}