代码之家  ›  专栏  ›  技术社区  ›  Giffyguy

如何在javascript中捕获右键单击事件?[副本]

  •  202
  • Giffyguy  · 技术社区  · 15 年前

    这个问题已经有了答案:

    我想阻塞标准上下文菜单,并手动处理右键单击事件。

    这是怎么做到的?

    2 回复  |  直到 12 年前
        1
  •  291
  •   david.s    12 年前

    使用 oncontextmenu 事件。

    下面是一个例子:

    <div oncontextmenu="javascript:alert('success!');return false;">
        Lorem Ipsum
    </div>
    

    使用事件监听器:

    el.addEventListener('contextmenu', function(ev) {
        ev.preventDefault();
        alert('success!');
        return false;
    }, false);
    

    不要忘记返回false,否则标准上下文菜单仍然会弹出。

    如果你要使用你写的函数而不是 javascript:alert("Success!") ,记住在函数和 OnContext菜单 属性。

        2
  •  29
  •   cyber-guard    15 年前

    我想你在找这样的东西:

       function rightclick() {
        var rightclick;
        var e = window.event;
        if (e.which) rightclick = (e.which == 3);
        else if (e.button) rightclick = (e.button == 2);
        alert(rightclick); // true or false, you can trap right click here by if comparison
    }
    

    ( http://www.quirksmode.org/js/events_properties.html )

    然后即使使用函数rightclick()也要使用onmousedown(如果要在整个页面上全局使用它,可以这样做) <body onmousedown=rightclick(); >

    推荐文章