代码之家  ›  专栏  ›  技术社区  ›  KJ Saxena

如何捕获右击事件?

  •  4
  • KJ Saxena  · 技术社区  · 15 年前

    如何在文档元素上捕获右键单击事件?我在任何地方都找不到任何事件处理程序。

    5 回复  |  直到 11 年前
        1
  •  4
  •   T.J. Crowder    15 年前

    右键单击在许多浏览器上都是特殊的,从而触发 contextmenu 事件而不是 click 事件。有些浏览器允许您阻止默认行为,有些(例如opera)则不允许。这里更多: http://unixpapa.com/js/mouse.html

    编辑: 重读那页(已经有一段时间了),看起来 mousedown mouseup 甚至比 右键菜单 (尽管所有主要浏览器都会触发 右键菜单 ) 点击 另一方面,在任何重要的浏览器上都不会出现这种情况。

        2
  •  3
  •   YOU    15 年前

    我想有“OnContextMenu”活动,你可以勾住它。

    这里是基于jQuery的ContextMenu处理程序,

    http://www.trendskitchens.co.nz/jquery/contextmenu/

    附言:不过在我的歌剧里不管用。

        3
  •  2
  •   rahul    15 年前

    您可以使用

    window.oncontextmenu

    的事件处理程序属性 右键单击窗口上的事件。

    如果需要禁用页面中的右键单击,则可以使用类似的功能

    window.oncontextmenu = function () {
       return false;
    }
    

    或者,如果需要提供自己的自定义上下文菜单,也可以在函数内部进行编码。

        4
  •  1
  •   jonchang    15 年前

    您可能需要单击或鼠标向下/向上事件。从 quirksmode :

    function doSomething(e) {
        var rightclick;
        if (!e) var e = window.event;
        if (e.which) rightclick = (e.which == 3);
        else if (e.button) rightclick = (e.button == 2);
        alert('Rightclick: ' + rightclick); // true or false
    }
    
        5
  •  0
  •   Shade    11 年前

    事件有一个按钮 所以LMB是0 MMB为1 人民币2元

    http://www.w3schools.com/jsref/event_button.asp