如何捕获右键单击事件?

时间:2009-12-10 10:19:59

标签: javascript html

在文档元素上捕获右键单击事件的方法是什么?我无法在任何地方找到任何事件处理程序。

5 个答案:

答案 0 :(得分:4)

在许多浏览器上右键单击是特殊的,触发contextmenu事件而不是click事件。有些浏览器可以阻止默认行为,有些浏览器(例如Opera)则不会。更多信息:http://unixpapa.com/js/mouse.html

编辑:重读该页面(已经过了一段时间),看起来mousedownmouseupcontextmenu更可靠(尽管所有主流浏览器都会触发contextmenu)。另一方面,click似乎根本没有发生在任何重要的浏览器上。

答案 1 :(得分:3)

我认为有“oncontextmenu”事件,你可以勾选它。

这是基于jQuery的contextmenu处理程序,

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

PS:虽然它在My Opera中不起作用。

答案 2 :(得分:2)

您可以使用

<强> window.oncontextmenu

  

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

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

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

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

答案 3 :(得分:1)

您可能想要点击或mousedown / up事件。来自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
}

答案 4 :(得分:0)

该事件具有“按钮”属性 所以lmb是0 mb是1 人民币是2

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