GuLiMmo
2024-03-19 aec00ecc093be803860c8675cbe1c4c776a7cb4e
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()
      }
    })
  },
}