首页 > 代码库 > 自定义右击菜单

自定义右击菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>匿名函数和闭包</title>

<script>
//跨浏览器添加事件
function addEvent(obj, type, fn) {
    if (obj.addEventListener) {
        obj.addEventListener(type, fn, false);
    } else if (obj.attachEvent) {
        obj.attachEvent(on + type, fn);
    }
}

//跨浏览器移除事件
function removeEvent(obj, type, fn) {
    if (obj.removeEventListener) {
        obj.removeEventListener(type, fn, false);
    } else if (obj.detachEvent) {
        obj.detachEvent(on + type, fn);
    }
}


function preDef(evt) {
var e = evt || window.event;
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
}

addEvent(window, load, function () {
    var text = document.getElementById(text);
    addEvent(text, contextmenu, function (evt) {
        preDef(evt);
        var menu = document.getElementById(menu);
        var e = evt || window.event;
        menu.style.left = e.clientX + px;
        menu.style.top = e.clientY + px;
        menu.style.display = block;
        
        addEvent(document, click, function () {
            menu.style.display = none;
        });
    });
});




</script>
<style type="text/css">
#menu {
    width:50px;
    background:orange;
    position:absolute;
    display:none;
}
</style>
</head>
<body>

<textarea id="text" style="width:200px;height:100px;"></textarea>
<ul id="menu" >
    <li>菜单1</li>
    <li>菜单2</li>
    <li>菜单3</li>
</ul>




</body>
</html>

 

自定义右击菜单