191 votes

Est un clic droit un événement Javascript ?

Est un clic droit un événement Javascript ? Dans l’affirmative, comment il sert-on ?

207voto

Andy E Points 132925

Comme d'autres l'ont mentionné, le bouton droit de la souris peuvent être détectés par le biais d'habitude les événements de la souris (mousedown, mouseup, cliquez sur). Toutefois, si vous êtes à la recherche d'un tir de l'événement lorsque le menu du clic droit est mis en place, vous cherchez au mauvais endroit. Le clic-droit/context menu est également accessible via le clavier (maj+F10 ou le menu contextuel touche Windows et certains Linux). Dans cette situation, l'événement que vous cherchez est en oncontextmenu:

window.oncontextmenu = function ()
{
    showCustomMenu();
    return false;     // cancel default menu
}

Comme pour la souris événements eux-mêmes, les navigateurs définir une propriété de l'objet d'événement qui est accessible à partir de la gestion des événements de la fonction:

document.body.onclick = function (e) {
    var isRightMB;
    e = e || window.event;

    if ("which" in e)  // Gecko (Firefox), WebKit (Safari/Chrome) & Opera
        isRightMB = e.which == 3; 
    else if ("button" in e)  // IE, Opera 
        isRightMB = e.button == 2; 

    alert("Right mouse button " + (isRightMB ? "" : " was not") + "clicked!");
} 

de la fenêtre.oncontextmenu - MDC

33voto

Phil Rykoff Points 6650

Jetez un oeil sur le code jQuery suivant :

La valeur de `` sera :

  • 1 le bouton gauche
  • 2 pour le bouton du milieu
  • 3 pour le bouton de droit

7voto

Eric Points 51

Ya, si w3c dit le clic droit peuvent être détectés par l’événement click, onClick n’est pas déclenchée par la droite, cliquez dans les navigateurs habituels.

En fait, faites un clic droit uniquement déclencheur onMouseDown onMouseUp et onContextMenu.

Ainsi, vous pouvez considérer « onContextMenu » comme l’événement de clic droit. C’est une norme HTML5.0.

3voto

Timothy Khouri Points 14640

Non, mais vous pouvez détecter quel bouton de la souris a été utilisé dans l’événement « onmousedown »... et de là, déterminer s’il s’agissait d’un « clic droit ».

1voto

sleske Points 29978

Oui, ça s’appelle MouseEvent. Voir http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-MouseEvent pour les spécifications.

Pour obtenir un exemple, voir par exemple http://unixpapa.com/js/mouse.html .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X