捕获右键单击HTML DIV

时间:2009-07-07 15:36:59

标签: javascript html events

我正在尝试在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>

3 个答案:

答案 0 :(得分:38)

最简单的方法

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

答案 1 :(得分:8)

看看这个:Javascript - event properties。鼠标右键的值为2,但请注意,它建议使用mousedownmouseup个事件而不是点击。

以下是显示右键单击检测的页面中的示例:

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
}

答案 2 :(得分:3)

我建议您查看the event handling page on Quirksmode,因为它包含捕获正确点击的指南以及避免跨浏览器事件问题的综合指南。

警告:但并非所有浏览器都允许默认检测右键。