2009-07-07 41 views
8

我想在html頁面上繪製單元格,其中每個單元格都是DIV,我需要能夠捕獲任何這些單元格上的右鍵單擊事件,我該怎麼做?捕獲右鍵單擊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,但也請注意,它建議使用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 
} 
+0

+1 - 對於這個例子 - 雖然你應該得到+2,因爲我給了jani一個+1來快速抽籤,但是你包括了示例代碼;) – 2009-07-07 16:28:08

3

我建議你看看the event handling page on Quirksmode,因爲它包括一個導向,以獲取正確的點擊,以及一個全面的指南,以避免事件的跨瀏覽器的問題。

儘管有警告:但並非所有瀏覽器都允許默認檢測右鍵單擊。

+0

打我給它;) – roryf 2009-07-07 15:43:17

+0

我愛微軟怎麼做是正確的... – geowa4 2009-07-07 15:45:53

34

最簡單的方法

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