2009-07-07 8 views
8

J'essaye de peindre la cellule sur une page html, où chaque cellule est une DIV, je dois être capable de capturer l'événement clic droit sur l'une de ces cellules, Comment puis-je faire cela?Capture Clic droit sur HTML DIV

<script> 
function fn(event) 
{ 
alert('hello'+event.button); 
} 
</script> 

<div id="cell01" 
     class="" 
     onclick="fn(event);" 
     style="left: 1471px; width: 24px; height: 14px; top: 64px; text-align: center; position: absolute; background-color: rgb(128, 128, 0);">1</div> 

Répondre

7

Jetez un oeil à ceci: Javascript - event properties. La valeur du bouton droit de la souris est 2, mais notez également qu'il est recommandé d'utiliser les événements mousedown ou mouseup au lieu de cliquer.

Voici un exemple de la page montrant la détection de clic droit:

function doSomething(e) { 
    var rightclick; 
    if (!e) var e = window.event; 
    if (e.which) rightclick = (e.which == 3); 
    else if (e.button) rightclick = (e.button == 2); 
    alert('Rightclick: ' + rightclick); // true or false 
} 
+0

+1 - pour l'exemple - bien que vous méritiez un +2 car j'ai donné un +1 à jani pour être rapide sur le tirage, mais vous avez inclus un exemple de code;) –

3

Je vous recommande de vérifier the event handling page on Quirksmode, car il comprend un guide pour capturer le clic droit, ainsi qu'un guide complet pour éviter les problèmes avec différents navigateurs événements. Un mot d'avertissement cependant: Tous les navigateurs ne permettent pas de détecter les clics droits par défaut.

+0

plus facile me devança;) – roryf

+0

i aime la façon dont Microsoft avait raison ... – geowa4

34

la manière

<div style="height: 100px; background-color: red;" oncontextmenu="window.alert('test');return false;"></div> 
+0

Ceci est la meilleure réponse. –

+0

bonne réponse ... – aditya

Questions connexes