您的位置:首页 > Web前端 > JavaScript

javascript自定义浏览器右键菜单

2014-05-29 12:00 381 查看

javascript自定义浏览器右键菜单

在书上看到document对象还有一个contextmenu事件,但是不知为什么w3school中找不到这个耶。。。

利用这个特性写了个浏览器的右键菜单,感觉挺不错,呵呵。。。

HTML部分(在<body></body>之间插入以下HTML):

查看代码



<script type="text/javascript">
document.oncontextmenu = function(e){
if(window.event) e = window.event;
var mymenu = document.getElementById("menu");
mymenu.style.visibility = "visible";
mymenu.style.left = e.clientX + 5 +"px";
mymenu.style.top = e.clientY + 5 + "px";
return false;
}
document.onclick = function(){
var mymenu = document.getElementById("menu");
mymenu.style.visibility = "hidden";
}
</script>




原理:

1.利用document.oncontextmenu将浏览器的右键菜单屏蔽(return false)。

2.在CSS中将div的visibility设置为hidden,即先把它给隐藏掉,position为absolute绝对定位,这样我们就能很容易地控制left与top的值的了。

3.在函数中获取menu为mymenu,visibility为可见(visible),再设置left与top和分别等于浏览器窗口的x,y坐标,最后再写一个document.onclick函数,只要点击,就将div的可见设置为(隐藏)hidden;

我分别测试了几款浏览器,兼容性还好吧,下面是chrome效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: