2012-05-07 9 views
0

マウスの右クリックで関数を呼び出すために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> 

答えて

1

あなたが現れてから、デフォルトのメニューを防止するために、コンテキストメニューイベントでreturn false;する必要があります。

一部のブラウザ(特にFirefox)では、デフォルトでJavaScriptがコンテキストメニューをブロックできないため、そこに問題が発生する可能性があることに注意してください。

0

IEのコンテキストメニューが表示される前に、これが実行可能性があり、その後、あなたはjQueryの.preventDefault()

でデフォルトの動作を停止する可能性があるのでれるonmousedown試しの代わりに、onclickの
関連する問題