-
Notifications
You must be signed in to change notification settings - Fork 0
/
cutCopyPaste.js
42 lines (34 loc) · 1.04 KB
/
cutCopyPaste.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
let ctrlKey
document.addEventListener("keydown", (e)=>{
ctrlKey = e.ctrlKey;
})
document.addEventListener("keyup", (e)=>{
ctrlKey = e.ctrlKey;
})
for(let i=0; i< rows; i++){
for(let j=0; j<cols; j++){
let cell = document.querySelector(`.cell[rid="${i}"][cid="${j}"]`);
handleSelectedCell(cell);
}
}
let rangeStorage = [];
function handleSelectedCell(cell){
cell.addEventListener("click", (e)=>{
// Select cells range work
if(!ctrlKey) return;
if(rangeStorage.length >= 2) {
handleSelectedCellUI();
};
//UI
cell.style.border = "3px solid #218c74";
let rid = Number(cell.getAttribute("rid"));
let cid = Number(cell.getAttribute("cid"));
rangeStorage.push([rid, cid]);
console.log(rangeStorage, 'range storage');
})
}
function handleSelectedCellUI(){
for(let i=0; i< rangeStorage.length; i++){
let cell = document.querySelector(`.cell[rid="${rangeStorage[i][0]}"][cid="${rangeStorage[j][0]}"]`);
}
}