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
| export const vContentMenu = {
| mounted: (el: Element, binding: { value: any }) => {
| const { value } = binding
| el.addEventListener('contextmenu', (e: any) => {
| e.preventDefault()
| const contentMenu = document.querySelector('.vContentMenu')
| if (contentMenu) {
| contentMenu.remove()
| }
| const menuDom: HTMLUListElement = document.createElement('ul')
| menuDom.setAttribute('class', 'vContentMenu')
| const { x, y } = e
| console.log(x, y)
| menuDom.setAttribute(
| 'style',
| `
| width: fit-content;
| background: #595959;
| padding: 7px;
| margin: 0;
| position: fixed;
| top: ${y}px;
| left: ${x}px;
| `,
| )
| el.appendChild(menuDom)
| })
|
| el.addEventListener('click', () => {
| const contentMenu = document.querySelector('.vContentMenu')
| if (contentMenu) {
| contentMenu.remove()
| }
| })
| },
| }
|
|