我在JsFiddle
中有一个上下文菜单这是我的代码
JS:
$(document).ready(function () {
$(document).on('contextmenu', function (e) {
if (e.target.matches('#menuHere *'))
{
const menu = document.querySelector(".menu");
let menuVisible = false;
const toggleMenu = command => {
menu.style.display = command === "show" ? "block" : "none";
menuVisible = !menuVisible;
};
const setPosition = ({ top, left }) => {
menu.style.left = `${left}px`;
menu.style.top = `${top}px`;
toggleMenu("show");
};
window.addEventListener("click", e => {
if(menuVisible)toggleMenu("hide");
});
window.addEventListener("contextmenu", e => {
e.preventDefault();
const origin = {
left: e.pageX,
top: e.pageY
};
setPosition(origin);
return false;
});
}
else
{
alert('Wrong element');
}
});
});
此代码不起作用。
我的JsFiddle显示上下文菜单,但在“特定Div”中没有显示。
我需要在特定的div id = menuHere
上显示contextmenu。
有可能吗?
任何想法都值得赞赏。