使用javascript(chrome bug?)

使用javascript(chrome bug?),javascript,Javascript,我想做一个类似excel的选择。我有一个表,但这个表来自外部源。在这个表中,当有人选择四个单元格(如excel B2:C3)时,我想创建一个能够复制、粘贴和其他类似操作的选择 为了简单起见,我的单元格是DOM元素,在以下变量中:b2、b3、c2、c3 相关代码部分如下: let range = document.createRange(); range.selectNode(c3); range.insertNode(c2); range.insertNode(b3); range.insert

我想做一个类似excel的选择。我有一个表,但这个表来自外部源。在这个表中,当有人选择四个单元格(如excel B2:C3)时,我想创建一个能够复制、粘贴和其他类似操作的选择

为了简单起见,我的单元格是DOM元素,在以下变量中:b2、b3、c2、c3

相关代码部分如下:

let range = document.createRange();
range.selectNode(c3);
range.insertNode(c2);
range.insertNode(b3);
range.insertNode(b2);
let sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
但是这段代码重新排列了DOM结构

下面是复制它的代码笔:

函数makeSelection(){
设b2=document.getElementById('b2');
设b3=document.getElementById('b3');
设c2=document.getElementById('c2');
设c3=document.getElementById('c3');
让sel=window.getSelection();
选择removeAllRanges();
让range=document.createRange();
range.selectNode(c3);
range.insertNode(c2);
range.insertNode(b3);
range.insertNode(b2);
选择添加范围(范围);
}
进行选择


A1 地下一层 C1 D1 A2 地下二层 C2 D2 A3 地下三层 C3 D3 A4 B4 补体第四成份 D4
如果你想实现“复制、粘贴和其他相同的操作”,你需要做的远不止这些。如果与问题无关,则删除该部分。如果它与问题相关,那么问题就太广泛了。对于实际代码,还应包括该特定示例的预期结果。@trincot副本是主要功能。另外,我发现了许多视觉反馈的选择方法,但是这些解决方案不能复制CclipBeDIT,似乎我们不能添加不连续的节点作为范围选择。您可以考虑禁用浏览器选择并添加自定义选择。