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了-你的脚本在任何地方都无法工作,请告诉我现在该怎么做。