2015-06-21 89 views
4

當我試圖禁用右鍵單擊時,它不起作用。 我試着用下面的代碼。在javascript中禁用右鍵單擊

document.onclick = function(e) { 
    console.log(e.button); 
    if(e.button == 2){ 
    e.preventDefault(); 
    return false; 
    } 
} 

根據以下鏈接我試過了。 Disable Right Click in website

我在Chrome和Firefox中測試了這段代碼。 每次我只在控制檯中獲得正確的輸出。我的意思是左鍵單擊爲「0」,右鍵單擊爲「2」,但仍然是默認操作。我可以知道原因嗎? 在此先感謝。

回答

6

您正在使用錯誤的事件。對於右鍵單擊,您應該使用oncontextmenu。您使用了onclick,這顯然不會在右鍵單擊時觸發,因此在這種情況下循環不計算爲true。

document.oncontextmenu = function (e) { 
    console.log(e.button); 
    if (e.button == 2) { 
     e.preventDefault(); 
     return false; 
    } 

} 

演示:http://jsfiddle.net/GCu2D/748/