我有一张桌子,上面有数字。当我单击表格中的一个单元格时,它将切换活动状态。我想选择一个单元格,然后按crtl并选择另一个单元格,因此第一个和第二个之间的单元格将变为活动状态。如何执行呢?
codepen https://codepen.io/geeny273/pen/GRJXBQP
<div id="grid">
<div class="cell">1</div>
<div class="cell">2</div>
<div class="cell">3</div>
<div class="cell">4</div>
<div class="cell">5</div>
<div class="cell">6</div>
</div>
const grid = document.getElementById("grid")
grid.onclick = (event) => {
event.stopPropagation();
const { className } = event.target;
if (className.includes('cell')) {
if (className.includes('active')) {
event.target.className = 'cell';
} else {
event.target.className = 'cell active';
}
}
}
它应该像移位突出显示一样工作,并且可以双向工作
10
通常不是用Shift键完成此功能吗?
—
Wimanicesir
循环激活,从
—
Antony Jack
lastclick
到thisclick
并检查ctrl
点击情况
有很多不清楚的条件-您是否仍要切换特定单元格或范围,是否要对范围进行类似移位的突出显示(/ toggle)或选择单个单元格,等等。一些tescase可能会清除您的问题。 ..
—
汤姆
@Wimanicesir Shift通常会选择开始和当前之间的范围,而ctrl会增加选择范围
—
EmanuelVintilă
@EmanuelVintilă但是这个问题要求“第一个和第二个之间的单元格”,这确实是Shift键的预期行为。
—
约翰·蒙哥马利