一、概述
某些时候我们并不需要右键弹出菜单的功能,或者我们需要模拟一个右键菜单用以实现我们的需求;
二、解决办法
这里我通过了oncontextmenu来实现,以下是全局阻止右键的办法
document.oncontextmenu = function (event) {
event.preventDefault();
};
如果我们仅仅需要部分dom阻止右键菜单则可以
var el = document.getElementById("tar");
var oMenu = document.getElementById("menu");
el.oncontextmenu = function(e) {
//左键--button属性=1,右键button属性=2
if(e.button == 2) {
e.preventDefault();
var _x = e.clientX,
_y = e.clientY;
oMenu.style.display = "block";
oMenu.style.left = _x + "px";
oMenu.style.top = _y + "px";
}
}
这里tar是我们需要自定义右键菜单的dom元素,menu则是我们自定义的菜单。
亲测在主流浏览器上面都是可以使用的。