在我们的应用程序中,我们希望从一个列表中删除。问题是,当列表中有很多项目时 - 当元素可拖动时无法滚动。
作为解决方法,我们希望禁用元素的可拖动性,并仅在用户长按元素时启用它。
$('li').bind('taphold', function (event, ui) {
console.log('taphold');
clearAll(); // clearing all other catched
$(this).addClass('catched')
$(this).draggable('enable');
});
这里是 jsfiddle https://jsfiddle.net/nrxaqc34/10/
到目前为止它可以工作,但用户需要再次点击才能拖动。如果用户可以在长按后立即开始拖动,那就太好了。
这个答案在这里 https://stackoverflow.com/a/9922048/582727不适用于 iOS。
也许有人有想法。
使用延迟选项有意义吗? http://api.jqueryui.com/draggable/#option-delay
$("li").draggable().draggable( "option", "delay", 2000);
fiddle :https://jsfiddle.net/dob3uegj/
编辑: jqueryui-touch-punch ( http://touchpunch.furf.com/ ) 添加到 fiddle 以进行智能手机模拟: https://jsfiddle.net/dob3uegj/1/
关于javascript - JQ UI 在 iOS 上可拖动 : initiating dragging in taphold-handler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36013627/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |