如何在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(); >