js给页面元素添加自定义右键菜单

给页面的某个区域添加右键菜单,代码如下:

// 禁用整个页面的所有浏览器默认右击事件
        document.oncontextmenu = function(){
            return false;
        }
        // 点击此div出现右键菜单
        let contextMenu = document.getElementsByClassName('app-tabs-main')[0]
        // 点击出现的菜单div
        let divCon = document.getElementsByClassName('context-menu-tab')[0];
        // 给div绑定右击事件
        contextMenu.addEventListener('contextmenu', function (event) {
            // 设置右键菜单显示
            divCon.style.display = 'block'
            // 设置右键菜单的展示位置
            divCon.style.left = event.clientX + 'px'
            divCon.style.top = event.clientY + 'px'
            // 添加页面的监听事件 - 点击页面任意一处菜单隐藏
            document.addEventListener('click', removeClickFun)
            // 隐藏掉右键菜单
            function removeClickFun () {
                // 隐藏菜单
                divCon.style.display = 'none';
                // 取消页面的监听
                document.removeEventListener('click', removeClickFun)
            }
        })
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 8,925评论 1 11
  • 本文讲述的核心库:_winreg 平时在Windows下安装一些软件后,会发现自动添加了一些右键菜单功能,方便日常...
    m2fox阅读 14,056评论 2 13
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 10,744评论 0 21
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,914评论 1 32
  • 诸葛亮是作者塑造的一个忠贞智慧的政治家和军事家的艺术典型,是智慧的化身。白帝托孤后,他顾命辅幼主,独撑危...
    昊天燕阅读 1,391评论 0 0

友情链接更多精彩内容