小编典典

右键单击Javascript事件吗?

javascript

右键单击Javascript事件吗?如果可以,该如何使用?


阅读 347

收藏
2020-04-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!");
}
2020-04-25