js实现浏览器右键菜单,屏蔽默认菜单

本文介绍了一种使用HTML、CSS及JavaScript实现自定义鼠标右键菜单的方法。通过监听鼠标事件并利用DOM操作来显示和隐藏菜单,同时给出了具体的代码实例。
<div id="mouse" style="width:500px;height:200px;background:#E8FFE8;border:2px solid #336699;">
</div>
<div id="menu" style="display:none; position: absolute; color:red; border-radius: 3px;background-color: #666;">
  <div style="padding:6px 6px 6px 6px;">
    <a href="http://www.baidu.com">撤回消息</a> 
  </div>
</div>


<script>
function bindMouseEvent(el){
    var args = [].slice.call(arguments),
    el = el || document;
    args[0] = function(){},
    args[1] = args[1] || args[0],
    args[2] = args[2] || args[0],
    args[3] = args[3] || args[0],
    el.onmousedown = function(e){
        e = e || window.event;
        var button = e.button;
        if ( !e.which && isFinite(button) ) {
            e.which  = [0,1,3,0,2,0,0,0][button]; 
        }
        args[e.which](e);
    }
}
var el = document.getElementById("mouse");
var ex = document.getElementById("explanation");
var menu = document.getElementById("menu");
var left = function(){
    menu.style.display = 'none';
}
var middle = function(){
    menu.style.display = 'none';
}
var right = function(ev){
    var ev= ev || event;
    var scrollTop=document.documentElement.scrollTop || document.body.scrollTop;      
    menu.style.left = ev.clientX+scrollTop+'px';
    menu.style.top = ev.clientY+scrollTop+'px';
    menu.style.display = 'block';
}
bindMouseEvent(el,left,middle,right);
document.oncontextmenu=function(ev){
   return false;    //屏蔽右键菜单
}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值