【问题标题】:Context Menu on left click using oncontextmenu and js/jquery使用 oncontextmenu 和 js/jquery 左键单击上下文菜单
【发布时间】:2018-11-13 14:30:31
【问题描述】:

我有一个表格,通过单击任何行我可以访问上下文菜单

<tr oncontextmenu="return showContextMenu(event,'@item.SomeValue')"  style="cursor: pointer;">

显示上下文菜单的事件如下所示:

var contextMenu = document.getElementById('contextMenu');

 function showContextMenu(event, elemId) {
            contextMenu.style.display = 'block';
            contextMenu.style.left = (event.pageX - 220) + 'px';
            contextMenu.style.top = (event.pageY - 48) + 'px';
        }

以及以这种方式关闭上下文菜单的事件:

window.onclick = hideContextMenu;
function hideContextMenu() {
    contextMenu.style.display = 'none';
}

上下文菜单如下所示:

<div id="contextMenuPasta" class="contextMenu" >
    <ul>
        <li  id="renomearCMid" data-toggle="modal" data-target="#modalRenomearPasta"><span><i class="fa fa-fw fa-pencil" ></i> Renomear Pasta</span></li>
        <li  id="removerCMid"  data-toggle="modal" data-target="#modalExcluirPasta"><span><i class="fa fa-fw fa-trash-o"></i> Remover Pasta</span></li>
        <li  id="adicionarCMid" data-toggle="modal" data-target="#modalNovaPasta"><span><i class="fa fa-fw fa-plus"></i> Adicionar Pasta</span></li>
    </ul>
</div>

有什么方法可以将鼠标右键更改为左键,以显示上下文菜单? 谢谢你的帮助。

【问题讨论】:

    标签: javascript jquery contextmenu


    【解决方案1】:

    我是这样解决问题的:

    1. 在 tr 标签中而不是使用 'oncontextmenu' 我只使用了 'onclick'

    2. 删除'hideContextMenu'函数

    3. 改为使用这个

      window.onclick = function (event) {
          if(event["path"][0].tagName != "TD" ){
              contextMenu.style.display = 'none';
          }
      };
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-17
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多