IE写法
<script>
document.οncοntextmenu=function(){
event.returnValue = false;
}
或者
document.οncοntextmenu=function(){
return false;
}
</script>
FireFox写法
<script>
document.οncοntextmenu=function(event){//后面用到这个参数时就必须写上,没用到可以省略
//event.returnValue = false;//没有这个属性
return false;
}
</script>
兼容IE和FireFox的写法
<script>
document.oncontextmenu = function(event) {
if (navigator.appName.indexOf("Internet Explorer") != -1){
//要执行的语句
event.returnValue = false;
}
else{
//要执行的语句
return false;
}
}
</script>
另外遇到“document.getElementById(...)为空或不是对象”的提示,是因为对象还没加载完就去用它的id,所以不要在对象还没加载完就用它,不过在函数定义部分可以出现未加载的对象id,调用部分和事件重写部分就不行,即函数定义部分不需要对象加载完,但调用部分和事件重写部分就必须是在对象加载完才能使用该对象。
例如:
<html>
<head>
<title>js testing</title>
<script>
document.getElementById("info").value = "报document.getElementById(...)为空或不是对象!";
document.body.onmousedown = function() {alert("报document.body为空或不是对象!");}
function ok(){
document.getElementById("info").value = "正常,不报错!";
//其他代码
}
ok();//报document.getElementById(...)为空或不是对象!
</script>
<body>
<input id="info" type="text" />
</body>
</html>