Javascript 此脚本在没有任何原因的情况下禁用左键单击

Javascript 此脚本在没有任何原因的情况下禁用左键单击,javascript,Javascript,我有这个剧本: window.onload = function(){ document.getElementById('workspace').oncontextmenu = function(){ return false; } } function click(e) { if (navigator.appName == 'Netscape' && e.which == 3) { window.location.reload()

我有这个剧本:

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;
工作区
是我的
元素的id。基本上,这个脚本所做的是,在页面上单击鼠标右键时重新加载当前页面。我很高兴,这就是我想要的

但是这个脚本有一个bug。问题是左键单击被禁用。我在网页上有一些文本,但您可以在启用此脚本的情况下选择文本


我对JavaScript没有太多经验,但我尝试删除脚本的最后一行。当我这样做时,左键单击开始工作,我可以选择文本,但很快我注意到重新加载不起作用。

这可能是因为第三行中的单击功能
返回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;
}

这可能是因为第三行中的单击函数
返回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;
}

这是什么奇怪的用户界面行为?顺便说一句,再也没有人使用Netscape了-你的脚本在任何地方都无法工作。如果我右键单击时某些页面开始重新加载,我会感到惊讶和困惑。不要这样做,没有理由这样做。@这不是一个普通页面。我正在使用基于浏览器的应用程序。没有人会感到惊讶。没有人使用Netscape不再-你的脚本在任何地方都无法工作,请告诉我现在该怎么做。这是一种奇怪的用户界面行为吗?顺便说一句,没有人再使用Netscape了-你的脚本在任何地方都无法工作,如果我右键单击时某些页面开始重新加载,我会感到惊讶和困惑。不要这样做,没有理由这样做。@你不是一个普通页面。我是在基于浏览器的应用程序上工作。没什么好惊讶的。没有人再使用Netscape了-你的脚本在任何地方都无法工作,请告诉我现在该怎么做。