码迷,mamicode.com
首页 > 其他好文 > 详细

electron上下文菜单--指定弹出区域

时间:2021-01-14 11:26:13      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:ons   sele   对象   子节点   dep   str   显示   default   sel   

如何指定对象右击可弹出上下文菜单?

  1. 使用document.querySelector(targetSelector)获取指定区域,
  2. 然后使用node1.contains(node2)判断node2是否时node1子节点,如果是在指定区域内,否则不在
  3. 根据2的结果决定是否弹出上下文菜单
/**
itemArr:菜单项
targetSelector:指定显示上下文菜单的区域type:string:#id,.className等
**/
const useContextMenu = (itemArr, targetSelector, deps) => {
        let clickedNode = {}
        const menu = new Menu()
        itemArr.forEach(item => {
            menu.append(new MenuItem(item))
        })
const handler = (e) => {
            // 区域限定
            //e.targets是否时document.querySelector(targetSelector)的子节点
            if (document.querySelector(targetSelector).contains(e.target)) {
                clickedNode.current = e.target
                e.preventDefault()
                menu.popup({
                    window: remote.getCurrentWindow()
                })
            }
        }
                
    window.addEventListener(‘contextmenu‘, handler) //右击鼠标时触发执行 handler

  }            

  

electron上下文菜单--指定弹出区域

标签:ons   sele   对象   子节点   dep   str   显示   default   sel   

原文地址:https://www.cnblogs.com/baixinL/p/14274709.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!