我敢肯定这很简单,通常是这样。
$('#sort-table').tableDnD({
onDragClass: "dnd_drag",
onDragStart: function(table, row) {
console.log("start drag");
},
onDrop: function(table, row) {
console.log($.tableDnD.serialize());
},
dragHandle: ".dragHandle"
});
我有上面的代码用于 tableDnD,jQuery 表格排序插件。这是他们提供的样本中的确切代码,但是当我将一个项目放到表中时,它不会正确触发 onDrop 事件。我在控制台中没有任何反应。表格确实初始化了,拖动 handle 工作正常,所以我至少知道那部分代码是正确的。我唯一无法开始工作的是 onDrop 命令。
更新:
我更新了上面的代码以添加一个 onDragStart 和 onDragClass,它们都工作得很好,只是 onDrop 函数失败了。
这是我的一般表格布局:
<table id="sort-table">
<tbody class="sort-items">
<tr class="1">
<td class="dragHandle"></td>
...
</tr>
...
</tbody>
</table>
最佳答案
您必须定义 tr[id] 属性才能使 onDrop 工作。 这是因为 onDrop 仅在行顺序更改时触发。 但是,如果不指定 tr[id] 属性,tableDnD.serialize() 将认为没有任何重新排序。 (肯定是错误)
关于javascript - TableDnD onDrop 事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11765366/