如何在JavaScript中捕获右键单击事件?

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

这是怎么做的?

2 Solutions collect form web for “如何在JavaScript中捕获右键单击事件?”

使用oncontextmenu事件。

这是一个例子:

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

并使用事件监听器:

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

不要忘了返回false,否则标准的上下文菜单仍然会popup。

如果你打算使用你写的函数而不是javascript:alert("Success!") ,记得在函数AND oncontextmenu属性中返回false。

我认为你正在寻找这样的东西:

  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

然后使用onmousedown甚至与函数rightclick()(如果你想在整个页面全局使用它,你可以这样做<body onmousedown=rightclick(); >

  • 指定标签宽度?
  • 如果没有JavaScript,当长一个不合适时,我可以显示不同的文字吗?
  • 在HTML中,我可以用&#x2713; 。 有没有相应的X标记?
  • 颠倒的插入
  • JQuery Slider,如何使“步”大小变化
  • 在IE中绝对定位锚标记(没有文本)不可点击
  • 如何在chrome中显示图片的替代文字
  • 应该HTTP 304未修改响应包含caching控制标头?
  • 如何判断在表格中点击哪个行号?
  • 如何设置列表项之间的垂直空间?
  • 如何从Firefox中的select元素中删除箭头