2009-07-07 1 views
8

Я пытаюсь нарисовать ячейку на странице html, где каждая ячейка является DIV, мне нужно иметь возможность захватить событие щелчка правой кнопкой мыши на любой из этих ячеек. Как я могу это сделать?Capture Щелкните правой кнопкой мыши на 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> 

ответ

7

Посмотрите на следующее: Javascript - event properties. Значение для правой кнопки мыши - 2, хотя также учтите, что он рекомендует использовать события mousedown или mouseup, а не кликать.

Вот пример со страницы, показывая правильное обнаружение щелчка:

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 - для примера - хотя вы заслуживаете +2, так как я дал jani +1 для того, чтобы быть быстрым в розыгрыше, но вы включили пример кода;) –

3

Я рекомендую вам проверить the event handling page on Quirksmode, так как она включает в себя руководство по захватывая правой кнопки мыши, а также полное руководство, чтобы избежать проблем кросс-браузер с событиями.

Слово предупреждения, хотя: не все браузеры позволяют обнаруживать правые клики по умолчанию.

+0

Избили меня к нему;) – roryf

+0

я люблю, как Microsoft получил это право ... – geowa4

34

самый простой способ

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

Это лучший ответ. –

+0

отличный ответ ... – aditya

Смежные вопросы