Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “需要禁用”;上下文菜单;单击鼠标右键并在单击鼠标右键时调用函数_Javascript_Html_Javascript Events - Fatal编程技术网

Javascript “需要禁用”;上下文菜单;单击鼠标右键并在单击鼠标右键时调用函数

Javascript “需要禁用”;上下文菜单;单击鼠标右键并在单击鼠标右键时调用函数,javascript,html,javascript-events,Javascript,Html,Javascript Events,我使用oncontextmenu在鼠标右键单击时调用一个函数,它在firefox上运行良好,但在ie上导致问题,上下文菜单也会随该函数一起出现 我只需要调用同一个函数,在纯javascript中的右键和左键单击上都有一些参数 <html> <script> function mouseDown(e,param) { if (parseInt(navigator.appVersion)>3) { var clickType=1; if (navig

我使用oncontextmenu在鼠标右键单击时调用一个函数,它在firefox上运行良好,但在ie上导致问题,上下文菜单也会随该函数一起出现

我只需要调用同一个函数,在纯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>

函数mouseDown(e,参数){
if(parseInt(navigator.appVersion)>3){
var-clickType=1;
如果(navigator.appName==“Netscape”)单击type=e.which;
否则单击类型=event.button;
如果(单击类型==1){
警报(“左”+参数);
}
如果(单击类型!=1){
警报('右'+参数);
}
}
返回true;
}

您需要
返回false,以防止显示默认菜单


请记住,某些浏览器(特别是Firefox)默认不允许JavaScript阻止上下文菜单,因此您可能会遇到问题。

尝试onmousedown而不是onclick,因为这可能会在IE上下文菜单出现之前运行,然后您可以使用jQuery
.preventDefault()停止默认行为。