右键菜单

作者: LorenaLu | 来源:发表于2017-08-25 09:28 被阅读0次
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>右键菜单</title>
        <style type="text/css">
            *{margin:0;padding:0}
            ul{
                position: absolute;
                width:100px;
                list-style: none;
                display: none;
            }
            ul li{
                padding: 10px;
                background: #AFB9DE;
                border: 1px solid #ccc;
                border-radius: 3px;
                color: white;
                cursor : pointer;
            }
            ul li:hover{
                background: #E86F6F;
            }
            li ul{
            }
        </style>
    </head>
    <body>
        <ul id="menu">
            <li>Java</li>
            <li>
                JavaScript
                <ul>
                    <li>基础</li>
                    <li>DOM</li>
                    <li>
                        BOM
                        <ul>
                            <li>window</li>
                            <li>location</li>
                            <li>navgatior</li>
                        </ul>
                    </li>
                    <li>jQuery</li>
                </ul>
            </li>
            <li>C</li>
        </ul>
    </body>
    <script type="text/javascript">
        var menu = document.querySelector("#menu");
        var lis = document.querySelectorAll("li");
        for(var i=0;i<lis.length;i++){
            lis[i].onmouseenter  = function(){
                var children = this.querySelector("ul");
                if(children){
                    children.style.left = this.offsetWidth + this.offsetLeft + "px";
                    children.style.top = this.offsetTop + "px";
                    children.style.display = "block";
                    console.log( this.offsetWidth+"--"+this.offsetLeft+"--"+this.offsetTop)
                }
            }
            lis[i].onmouseleave = function(){
                var children = this.querySelector("ul");
                if(children){
                    children.style.display = "none";
                }
            }
        }
        menu.onmouseleave = function(){
            this.style.display = "none";
        }
        document.oncontextmenu = function(ev){
            var x = ev.clientX , y = ev.clientY;
            menu.style.display = "block";
            menu.style.left = x + "px";
            menu.style.top = y + "px";
            return false;//取消对象的默认动作就可以return false。
        }
    </script>
</html>

相关文章

  • mxgraph示例解析(-) menustyle右键菜单

    官方示例 实现原理 禁用右键菜单 创建右键菜单 简化示例

  • 使用js制作右键菜单项

    实现自定义右键菜单我们需要清楚浏览器默认的右键菜单触发的基本过程 ①:单击右键,菜单出现 ②:菜单出现,鼠标箭头一...

  • 右键菜单

    图灵社区教程 当用户在网页中点击鼠标右键后,会唤出一个菜单,在上面有复制、粘贴和翻译等选项,为用户提供快捷便利的功...

  • 右键菜单

  • 右键菜单

    插件:vue-contextmenujs文档地址:https://www.npmjs.com/package/vu...

  • js模拟点击鼠标右键

    前提是该元素已绑定事件如果没有事件,右键是系统默认的右键菜单 因此,先给元素绑定个右键事件: 再来模拟右键菜单 如...

  • js设置或禁用鼠标右键菜单

    当用户点击鼠标右键的时候oncontextmenu事件被触发 js禁用鼠标右键菜单 js自定义鼠标右键菜单 htm...

  • 树形菜单和自定义右键菜单

    一、树形菜单 二、自定义右键菜单

  • Sublime Text 使用技巧汇总

    1、增加右键菜单 安装notepad++软件,在菜单右键自动会添加“edit with notepad++"的选项...

  • Winfrom程序组件

    菜单栏和工具栏 1、MenuStrip:顶部菜单,可右键点击插入标准项 2、ContextMenuStrip:右键...

网友评论

    本文标题:右键菜单

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