JS鼠标右键自定义列表

html

<div id="menu">
    <a href="javascript:;">a</a>
    <a href="javascript:;">b</a>
    <a href="javascript:;">c</a>
    <a href="javascript:;">d</a>
</div>

css

#menu{
        background-color: #fff;
        width: 300px; 
        box-shadow: 0 1px 20px #eeeeee,1px 0 20px #eeeeee;
        position: absolute;
        z-index: 99999;
        -webkit-border-radius: 6px;
        -moz-border-radius: 6px;
        border-radius: 6px;
        overflow: hidden;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    #menu a{
        display: block;
        height: 40px;
        line-height: 40px;
        padding: 0 20px;
        text-decoration:none;
        font-size: 14px;
        color: #4c4c4c;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    #menu a:hover{
        background-color:#eeeeee;
    }

js

window.oncontextmenu = function (e) {
    var e = event || window.event;
    //取消默认浏览器自带右键
    e.preventDefault();
    //获取自定义右键菜单
    let menu = document.getElementById('menu');

    //根据事件对象中鼠标点击的位置,进行定位
    menu.style.left = e.clientX + 'px';
    menu.style.top = e.pageY + 'px';
    
    //改变自定义菜单宽度。让其显示
        menu.style.display = 'block';
}

//close右键菜单
window.onclick = function (e) {
    //触发click事件即可关闭
    document.getElementById('menu').style.display = "none";
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值