@oiij/use
Version:
Som Composable Functions for Vue 3
34 lines (32 loc) • 625 B
JavaScript
import { useEventListener } from "@vueuse/core";
import { nextTick, ref } from "vue";
//#region src/composables/use-context-menu.ts
function useContextMenu() {
const domRef = ref();
const x = ref(0);
const y = ref(0);
const show = ref(false);
function contextMenuEvent(e) {
e.preventDefault();
hide();
nextTick(() => {
show.value = true;
x.value = e.clientX;
y.value = e.clientY;
});
}
function hide() {
show.value = false;
}
useEventListener(domRef, "contextmenu", contextMenuEvent);
return {
domRef,
x,
y,
show,
hide,
contextMenuEvent
};
}
//#endregion
export { useContextMenu };