-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
37 lines (28 loc) · 1.05 KB
/
main.js
File metadata and controls
37 lines (28 loc) · 1.05 KB
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
const menu = ['Open', null, 'Delete', 'Info', 'Rename', 'Duplicate',null, 'Copy', 'Paste', null, 'Properties']
document.addEventListener('contextmenu', (e) => {
// prevent the default context menu
e.preventDefault();
const context = document.querySelector('#context');
context.innerHTML = `<ul>`;
menu.forEach(item => {
if (item) context.innerHTML += `<li> ${item}</li>`
else context.innerHTML+=`<hr>`
})
context.innerHTML += `</ul>`
context.style.top = '0';
context.style.display = 'block';
context.style.position = 'absolute';
if (e.clientY + context.clientHeight >= screen.height) {
context.style.top = e.clientY - context.clientHeight +'px';
} else {
context.style.top = e.clientY + "px";
}
if (e.clientX + context.clientWidth >= screen.width) {
context.style.left = e.clientX - context.clientWidth + 'px';
} else {
context.style.left = e.clientX + "px";
}
})
document.addEventListener('click', (e) => {
document.querySelector('#context').style.display = 'none';
})