Newer
Older
smartwell_front / src / directives / no-contextmenu.ts
liyaguang 9 days ago 822 bytes 云台安装位置
import { Directive } from 'vue';
// 禁止右键菜单
export const noContextmenu: Directive = {
  mounted(el) {
    el.addEventListener('contextmenu', (e) => {
      e.preventDefault();
    });
  },
  unmounted(el) {
    el.removeEventListener('contextmenu', (e) => {
      e.preventDefault();
    });
  }
};

// 在 main.js 中注册:
// import { noContextmenu } from './directives/no-contextmenu';
// app.directive('no-contextmenu', noContextmenu);

// 在组件中使用:
//  <div v-no-contextmenu>
// 右键菜单被禁用
// </div>

// 其余方式
// <div id="protected-element">
//   右键菜单在此元素上被禁用
// </div>
// <script>
// const element = document.getElementById('protected-element');
// element.addEventListener('contextmenu', function(e) {
//   e.preventDefault();
// });
// </script>