阻止默认事件的两种方法
1、在发生函数最后加上return false
2、ev.preventDefault();
阻止默认事件的兼容
//阻止默认事件的兼容
function preventDefault(ev){
if(ev.preventDefault){
//标准模式
ev.preventDefault();
}else{
//ie8及以下支持
ev.returnValue = false;
}
}
二级菜单
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#box{
width: 100px;
height: 300px;
background-color: pink;
display: none;
position: fixed;
}
</style>
</head>
<body>
<div id="box"></div>
<script>
var box = document.getElementById('box');
document.oncontextmenu = function(ev){
var ev = ev || window.event
box.style.display = 'block';
box.style.left = ev.clientX+'px';
box.style.top = ev.clientY+'px';
// return false;
// ev.preventDefault();
preventDefault(ev);
}
//阻止默认事件的兼容
function preventDefault(ev){
if(ev.preventDefault){
//标准模式
ev.preventDefault();
}else{
//ie8及以下支持
ev.returnValue = false;
}
}
</script>
</body>
</html>