Javascript 内部滚动,通过拖放单击
我正在构建一个web应用程序,并试图使其能够触摸 我有一个需要滚动的列表(我目前正在使用iScroll) 可以单击列表中的项目 列表中的项目可以拖动(我希望如此) 我使用下面的代码来禁用滚动时的单击Javascript 内部滚动,通过拖放单击,javascript,drag-and-drop,touch,iscroll4,Javascript,Drag And Drop,Touch,Iscroll4,我正在构建一个web应用程序,并试图使其能够触摸 我有一个需要滚动的列表(我目前正在使用iScroll) 可以单击列表中的项目 列表中的项目可以拖动(我希望如此) 我使用下面的代码来禁用滚动时的单击 var myScrollingList = new iScroll('list_scrolling', { onScrollMove: function () { $('a').bind('click', function (e) { e.preven
var myScrollingList = new iScroll('list_scrolling',
{
onScrollMove: function () {
$('a').bind('click', function (e) { e.preventDefault(); });
},
onScrollEnd: function () {
$('a').unbind('click');
}
});
我使用以下代码(jQuery longclick)来区分单击和长单击之间的区别,以便长单击触发拖动
$('a.item').click(500, function (ev) {
console.log('long-click');
ev.target.draggable({
helper: function () {
return jQuery(this).clone().appendTo('body').css('zIndex', 500);
}
});
return false;
});
$('a.item').click(function () {
console.log('short click');
return false;
});
好消息是我可以滚动而不触发“长点击”
问题是双重的
1) 在滚动结束时触发常规单击,但不是“短单击”,因此触发的是常规非javascript单击事件
2) 我的ev.target.draggable无法使目标拖动。有没有办法将目标创建为可拖动的元素?或者我最好只是克隆elment,然后以某种方式将克隆设置为可拖动的?或任何其他建议。更好的搜索@你是说一个更好的标签?我目前正在使用iScroll,但这可能不是答案,这就是为什么我没有这样标记它。