此脚本无任何理由禁用左键单击

时间:2012-09-22 16:36:03

标签: javascript

我有这个脚本:

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。基本上这个脚本就是,当它右键单击页面时它会重新加载当前页面。我很满意,这就是我想要的。

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

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

1 个答案:

答案 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;
}