jQuery UI Sortable是一个交互式插件,允许用户通过拖拽对列表元素进行重新排序。延迟选项(delay
)用于设置开始拖动操作前需要等待的毫秒数,防止意外触发拖动。
在iOS设备上,jQuery UI Sortable的延迟选项可能无法正常工作,主要原因包括:
<!-- 引入jQuery UI Sortable后添加 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script>
这个库专门为jQuery UI添加触摸事件支持。
$(function() {
var timer;
$(".sortable").sortable({
start: function(event, ui) {
// 清除可能存在的定时器
clearTimeout(timer);
// 设置自定义延迟
timer = setTimeout(function() {
ui.helper.trigger("mouseup");
}, 300); // 300毫秒延迟
},
beforeStop: function(event, ui) {
// 清除定时器
clearTimeout(timer);
}
});
});
考虑使用专为移动设备设计的现代库:
优势:
/* 拖动时禁用页面滚动 */
.ui-sortable-helper {
touch-action: none;
}
通过以上方法,可以在iOS设备上实现类似延迟拖动的效果,提升用户体验。
没有搜到相关的沙龙