小编典典

右键单击是 Javascript 事件吗?

all

右键单击是 Javascript 事件吗?如果是这样,我该如何使用它?


阅读 57

收藏
2022-06-25

共1个答案

小编典典

正如其他人所提到的,可以通过通常的鼠标事件(mousedown、mouseup、click)来检测鼠标右键。但是,如果您在弹出右键菜单时正在寻找触发事件,那么您就找错地方了。右键单击/上下文菜单也可通过键盘访问(Windows
和某些 Linux 上的 shift+F10 或上下文菜单键)。在这种情况下,您要查找的事件是oncontextmenu

window.oncontextmenu = function ()
{
    showCustomMenu();
    return false;     // cancel default menu
}

至于鼠标事件本身,浏览器为事件对象设置了一个属性,可以从事件处理函数访问:

document.body.onclick = function (e) {
    var isRightMB;
    e = e || window.event;

    if ("which" in e)  // Gecko (Firefox), WebKit (Safari/Chrome) & Opera
        isRightMB = e.which == 3; 
    else if ("button" in e)  // IE, Opera 
        isRightMB = e.button == 2;

    alert("Right mouse button " + (isRightMB ? "" : " was not") + "clicked!");
}

window.oncontextmenu -
MDC

2022-06-25