2009-07-07 18 views
8

Próbuję malować komórki na stronie html, gdzie każda komórka jest DIV, muszę być w stanie przechwycić zdarzenie prawego kliknięcia na dowolnej z tych komórek, Jak mogę to zrobić?Przechwytywanie Kliknij prawym przyciskiem myszy 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> 

Odpowiedz

7

Spójrz na to: Javascript - event properties. Wartość prawego przycisku myszy to 2, chociaż należy również pamiętać, że zaleca się raczej używanie zdarzeń mousedown lub mouseup niż klikanie.

Oto przykład ze strony pokazując właściwą detekcję kliknij:

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 - na przykład - chociaż zasługujesz na +2, ponieważ dałem Jani +1 również za szybkie losowanie, ale zawierałeś przykładowy kod;) –

3

Polecam sprawdzić the event handling page on Quirksmode, gdyż zawiera przewodnik do przechwytywania odpowiednie kliknięć, a także obszerny przewodnik, aby uniknąć problemów z różnych przeglądarkach wydarzeń.

Słowo ostrzeżenia: nie wszystkie przeglądarki domyślnie umożliwiają wykrywanie kliknięć prawym przyciskiem myszy.

+0

beat mnie do niego;) – roryf

+0

kocham jak Microsoft miał rację ... – geowa4

34

najprostszym sposobem

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

To jest najlepsza odpowiedź. –

+0

wspaniała odpowiedź ... – aditya

Powiązane problemy