我正在实施jQuery DataTables RowReorder扩展,并且需要在拖动正在进行时对DOM进行更改,并在完成时停止该进程。我该如何做到这一点?
答案 0 :(得分:2)
<强>解强>
使用row-reorder
事件检测行已重新排序的时间。
$('#example').on('row-reorder.dt', function(e, details, edit){
for(var i = 0; i < details.length; i++){
console.log(
'Node', details[i].node,
'moved from', details[i].oldPosition,
'to', details[i].newPosition
);
}
});
要跟踪行拖动事件,请使用未记录的事件mousedown.rowReorder
和ousemove.rowReorder
,如下所示。
$('#example').on('mousedown.rowReorder touchstart.rowReorder', 'tbody tr td:eq(0)', function(){
var tr = $(this).closest('tr');
console.log('Started dragging row', tr);
$(document).on('mousemove.rowReorder touchmove.rowReorder', function(){
console.log('Dragging row', tr);
});
});
<强>样本强>
请参阅this jsFiddle以获取代码和演示。