美文网首页
js 自定义右键菜单

js 自定义右键菜单

作者: super静_jingjing | 来源:发表于2018-03-12 14:18 被阅读0次

    浏览器有他的默认行为,就是不需要编写代码浏览器自动具备的一些功能,比如右击鼠标展示的菜单;
    很多时候我们需要自己自定义菜单,自定义菜单的原来其实很简单:
    1.阻止浏览器的默认行为
    2.将自己写的默认菜单展示出来,菜单的left,top和鼠标一致

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title></title>
            <style type="text/css">
                *{
                    margin: 0;
                    padding: 0;
                }
                ul{
                    height: 100px;
                    width: 100px;
                    position: absolute;
                    background-color: #ccc;
                    color: #fff;
                    display: none;
                }
                ul li{
                    height: 25px;
                }
            </style>
        </head>
        <body>
            <ul id="menu">
                <li>返回</li>
                <li>登录</li>
                <li>设置</li>
                <li>属性</li>
            </ul>
        </body>
        <script>
            //点击鼠标右键
            window.oncontextmenu = function(ev){
                document.getElementById("menu").style.display = "block";
                //event--ie  ev--其他浏览器
                var oEvent = event||ev;
                //documentElement--其他游览器    body--谷歌
                var scrollTop = document.documentElement.scrollTop||document.body.scrollTop;
                //菜单的style样式跟随鼠标的位置
                document.getElementById("menu").style.top = oEvent.clientY + scrollTop + "px";
                var scrollLeft = document.documentElement.scrollLeft||document.body.scrollLeft;
                document.getElementById("menu").style.left = oEvent.clientX + scrollLeft + "px";
                //阻止系统默认的右键菜单
                return false;
            }
            //点击页面,自定义菜单消失
            window.document.onclick = function(){
                document.getElementById("menu").style.display = "";
            }
        </script>
    </html>
    
    
    

    相关文章

      网友评论

          本文标题:js 自定义右键菜单

          本文链接:https://www.haomeiwen.com/subject/minlfftx.html