我正在编写一个获取表格并允许更改列顺序的 jquery 插件。
将位于 oldIndex 位置的列放在 newIndex 位置的代码是:
table.find('> thead > tr, > tbody > tr').each(function() {
var row = $(this);
var children = row.children();
var source = $(children[oldIndex ]);
var destination = $(children[newIndex ]);
if (oldIndex != newIndex ) {
destination
.replaceWith(source)
.appendTo(row);
}
});
问题是每个 td 都有超出此代码的事件。使用时replaceWith
,它会删除这些事件。
有什么想法可以替换 DOM 元素的位置并保留其事件吗?