2012-05-07 10 views
0

J'ai utilisé le menu oncontext pour appeler une fonction sur le clic droit de la souris, ça fonctionne très bien sur firefox mais cela pose problème sur ie, le menu contextuel apparaît aussi avec la fonction.Besoin de désactiver "menu contextuel" sur clic droit et appeler une fonction sur clic droit

J'ai juste besoin d'appeler la même fonction ayant quelques paramètres sur le clic droit et gauche en javascript pur.

<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> 

Répondre

1

Vous devez return false; en cas contextmenu afin d'éviter le menu par défaut d'apparaître. N'oubliez pas que certains navigateurs (Firefox en particulier) ne permettent pas à JavaScript de bloquer les menus contextuels. Vous risquez donc de rencontrer des problèmes.

0

Essayez onmousedown au lieu de onclick, car cela pourrait fonctionner avant que le menu contextuel IE apparaît et alors vous pouvez arrêter le comportement par défaut avec jQuery .preventDefault()

Questions connexes