在鼠标拖动时,为单行突出显示表格单元格
在鼠标拖动时,为单行突出显示表格单元格
我正在尝试让用户在表格上拖动鼠标时可以突出显示单元格,就像在问题和答案Select Cells On A Table By Dragging中所概述的那样。
但我需要限制拖动/突出显示效果不能跨越多个列。例如,无论用户在哪一列开始拖动事件,他们都不能突出显示该列之外的单元格。
有没有什么想法可以实现这个?
问题的出现原因是当用户拖动鼠标来选择表格行时,无法只高亮显示选择的行,而是会高亮显示整个表格。
解决方法是给表格的每个单元格元素添加一个属性,例如data-row和data-col,然后在用户选择行时存储当前的data-col值,并阻止用户选择具有不同data-col值的其他列。可以通过以下代码来获取data-col的值:element.getAttribute("data-col")
。
为了解决问题,可以参考下面的工作示例链接进行更改,使其只适用于行而不是整个表格:Working example。