2012-09-22 22 views
1

我有這樣的腳本:這個腳本禁用左擊沒有任何理由

window.onload = function(){ 
    document.getElementById('workspace').oncontextmenu = function(){ 
    return false; 
    } 
} 

function click(e) { 
    if (navigator.appName == 'Netscape' && e.which == 3) { 
     window.location.reload(); 
     return false; 
else { 
    if (navigator.appName == 'Microsoft Internet Explorer' && event.button==2) 
     window.location.reload(); 
     return false; 
} 
return true; 
} 
document.onmousedown=click; 

workspace是我<body>元素的ID。這個腳本基本上是這樣的,它在頁面上點擊右鍵時重新加載當前頁面。我很高興,這是我想要的。

但是這個腳本有一個錯誤。問題是左鍵點擊被禁用。我在網頁上有一些文字,但您可以選擇啓用此腳本的文字。

我沒有太多的JavaScript經驗,但我試着刪除腳本的最後一行。當我這樣做左鍵單擊開始工作,我可以選擇文本,但很快我注意到重新加載不起作用。

+1

那是什麼奇怪的用戶界面行爲?順便說一句,沒有人再使用Netscape - 你的腳本不會在任何地方工作 – Bergi

+0

當我右鍵單擊時,如果某些頁面開始重新加載,我會感到驚訝和困惑。不要這樣做,沒有理由。 – You

+0

@你不是一個普通的頁面。我正在研究基於瀏覽器的應用程序。沒什麼可驚訝的。 –

回答

1

可能是因爲第三行的點擊功能return false。 您需要}之前else {和需要包裝{}爲最後if塊。

這樣的事情應該沒問題。

function click(e) { 
    if (navigator.appName == 'Netscape' && e.which == 3) { 
    window.location.reload() 
    return false; 
    } else { 
    if (navigator.appName == 'Microsoft Internet Explorer' && event.button==2) { 
     window.location.reload(); 
     return false; 
    } 
    } 
    return true; 
} 
相關問題