3

在Firefox中我使用了document.onclick事件,然後檢查它是否是右鍵單擊,並且如果我右鍵單擊了所有內容,按預期方式操作。但在Chrome,Opera和IE8中,如果我右鍵單擊該文檔,則onclick不會觸發。Chrome中的右鍵單擊事件(onclick)(javascript)

我想有一個img元素的自定義上下文菜單。我如何去做這件事?

回答

7

右鍵單擊調用大多數標準瀏覽器中的上下文菜單;因此,您可以使用「oncontextmenu」偵聽器來處理右鍵單擊事件。如果您不希望它在調用JS代碼後顯示標準瀏覽器上下文菜單,那麼應該返回false。

下面是一些示例html,它處理圖像上的左鍵和右鍵單擊。

<html> 
<head> 
    <script type="text/javascript"> 
     function handleRightClick() { 
      alert("Got right click!"); 
     }; 

     function handleLeftClick() { 
      alert("Got left click!"); 
     }; 
    </script 
</head> 
<body> 
    <img src="http://thefuturebuzz.com/pics/the-matrix.jpg" onclick="handleLeftClick(this);" oncontextmenu="handleRightClick(this); return false;" /> 
</body> 
</html> 

欲瞭解更多信息,請http://www.w3schools.com/html5/html5_ref_eventattributes.asp