长按时可拖动的JQuery UI可与mousedown一起使用,但不能与touchstart一起使用

长按时可拖动的JQuery UI可与mousedown一起使用,但不能与touchstart一起使用,jquery,jquery-ui,jquery-mobile,touch,touch-event,Jquery,Jquery Ui,Jquery Mobile,Touch,Touch Event,下面的操作在桌面(mousedown)上运行良好,但如果在移动设备(touchstart)上尝试,则不会拖动 vart; $(文档).on('touchstart mousedown','菜单项',函数(事件){ var self=这个; if($(self).hasClass('draggable'))返回; t=设置超时(函数(){ $(自)。可拖动({ 回复:对, 附:“身体” }).draggable('enable').addClass('draggable'); $(自).触发器(

下面的操作在桌面(
mousedown
)上运行良好,但如果在移动设备(
touchstart
)上尝试,则不会拖动

vart;
$(文档).on('touchstart mousedown','菜单项',函数(事件){
var self=这个;
if($(self).hasClass('draggable'))返回;
t=设置超时(函数(){
$(自)。可拖动({
回复:对,
附:“身体”
}).draggable('enable').addClass('draggable');
$(自).触发器(事件)
}, 800);
});
$(document).on(“touchend mouseup”,函数(){
清除超时(t);
$('.draggable').draggable('disable').removeClass('draggable');
});
。菜单项{
宽度:50px;
高度:50px;
边框:1px纯蓝色;
保证金:5px;
}
.菜单项.可拖动{
背景颜色:橙色;
转换:比例(1.1);
}

1.
2.

3
将jquerymobile替换为修复了问题,无需更改代码。

将jquerymobile替换为修复了问题,无需更改代码。

您可能需要使用TouchPunch。看这里:是的,它似乎与TouchPunch一起工作。谢谢。很高兴听到它能工作,也可以看看
$(self).trigger(event)
,文档建议这个应该是jQuery.event对象。可能需要
$(self.trigger)(event.type)而不是。。。不确定。您可能想使用TouchPunch。看这里:是的,它似乎与TouchPunch一起工作。谢谢。很高兴听到它能工作,也可以看看
$(self).trigger(event)
,文档建议这个应该是jQuery.event对象。可能需要
$(self.trigger)(event.type)而不是。。。不确定。