我已经使用oncontextmenu在鼠标右键调用一个函数,它在firefox上正常工作但导致问题,即上下文菜单也随函数出现。
我只需要调用相同的函数,在纯javascript中右键和左键单击一些参数。
<html>
<script>
function mouseDown(e,param) {
if (parseInt(navigator.appVersion)>3) {
var clickType=1;
if (navigator.appName=="Netscape") clickType=e.which;
else clickType=event.button;
if (clickType==1) {
alert("left" +param);
}
if (clickType!=1) {
alert('right' + param);
}
}
return true;
}
</script>
<body>
<a href="javascript:void(0)"
onclick="mouseDown(event,'test1');"
oncontextmenu="mouseDown(event,'test2');">mouse</a>
</body>
</html>
答案 0 :(得分:1)
您需要在contextmenu事件中return false;
,以防止显示默认菜单。
请记住,某些浏览器(特别是Firefox)默认不允许JavaScript阻止上下文菜单,因此您可能会遇到问题。
答案 1 :(得分:0)
尝试onmousedown而不是onclick,因为这可能会在IE上下文菜单出现之前运行,然后您可以使用jQuery .preventDefault()
停止默认行为