zoukankan      html  css  js  c++  java
  • js的鼠标右键简单菜单

    实现点击鼠标右键时出来菜单代码如下:

     主要运用oncontextmenu事件,oncontextmenu 事件在元素中用户右击鼠标时触发并打开上下文菜单。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>鼠标右键功能</title>
        <link rel="stylesheet" href="1.css">
        <!-- <script type="text/javascript" src="1.js"></script> -->
    </head>
    <body>
    <ul id="menu">
        <li>删除</li>
        <li>变成红色</li>
        <li>变成绿色</li>
        <li>恢复原色</li>
        <li>移到最后</li>
        <li>移到最前</li>
        <li><a href="http://news.baidu.com/" target="_blank" style="text-decoration: none;">搜索新闻</a></li>
    </ul>
    <ul id="ul1">
        <li title="请点击鼠标右键">习主席定调2018中国经济,要干这些大事</li>
        <li title="请点击鼠标右键">国台办:坚决惩治电信诈骗犯罪 切实维护两岸同胞利益</li>
        <li title="请点击鼠标右键">北大将每年增加500万元经费支持马克思主义学院建设</li>
        <li title="请点击鼠标右键">韩媒:韩军方已经计划向美增购20架F-35A隐形战斗机</li>
        <li title="请点击鼠标右键">大学教师论文抄袭被撤稿 当事人:文学都是相似的</li>
        <li title="请点击鼠标右键"> 冒雨退礼书记落马 同学曾劝:没50万存款做什么官</li>
        <li title="请点击鼠标右键">男子寄万元茶叶外包装破损快递公司:赔6倍运费</li>
    </ul>
    
        <script>
        window.onload=function (){
        var content=document.getElementById('ul1').children;
        var menu=document.getElementById('menu');
        var menuli=menu.children;
         
        for (var i=0; i<content.length; i++)
        {
            content[i].oncontextmenu=function (ev){
                var event=ev||window.event;
                menu.style.display='block';
                menu.style.left=event.clientX+'px';
                menu.style.top=event.clientY+'px';
                var _this=this;
                menuli[0].onclick=function (){
                    _this.parentNode.removeChild(_this);
                };
                menuli[1].onclick=function(){
                    _this.style.background="red";
                };
                menuli[2].onclick=function(){
                    _this.style.background="green";
                };
                menuli[3].onclick=function(){
                    _this.style.background="#ccc";
                };
                menuli[4].onclick=function(){
                    // var clone=_this.cloneNode(true);
                    var parent=_this.parentNode;
                    parent.removeChild(_this);
                    parent.appendChild(_this);
                };
                menuli[5].onclick=function(){
                    // var clone=_this.cloneNode(true);
                    var parent=_this.parentNode;
                    parent.removeChild(_this);
                    parent.insertBefore(_this,parent.firstChild);
                };
                return false;  //阻止默认操作点击右键时不出现本身鼠标右键的菜单
            };
        }
        document.onclick=function (){
            menu.style.display='none';
        };
    };
    
    
        </script>
    </body>
    </html>

    css代码如下:

    * {
        margin:0; 
        padding:0; 
        list-style:none;
    }
     
    #ul1 li {
        width:480px; 
        background:#ccc; 
        border:1px solid black; 
        margin:10px; 
        float:left; 
        line-height:30px; 
        text-indent:20px;
        cursor: pointer;
    }
     
    #menu {
        width:120px; 
        border:1px solid black; 
        position:absolute; 
        left:0; 
        top:0; 
        display:none; 
        background:white;
        cursor: pointer;
        text-indent: 20px;
    }
     
    #menu li {
        padding:3px;
    }
    #menu li:hover {
        background:#ccc;
    }
    #menu a{
        color: black;
    }
  • 相关阅读:
    中国机读目录格式(CNMARC)
    smarty截取中文字符乱码问题?gb2312utf8
    smarty模板截取字符串乱码问题完美解决```````
    marc数据
    smarty精品教程三(高级篇)
    中国机读目录格式(CNMARC)附录
    smarty精品教程二(高级篇)
    QuickSkin简明教程
    smarty精品教程四(高级篇)可下载实例
    maven学习指南
  • 原文地址:https://www.cnblogs.com/ljk001/p/8086469.html
Copyright © 2011-2022 走看看