使用 oncontextmenu 和 js/jquery 左键单击上下文菜单
Context Menu on left click using oncontextmenu and js/jquery
我有一个 table 单击任意行我可以访问上下文菜单
<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>
有什么方法可以将鼠标右键单击更改为左键单击,以显示上下文菜单?
谢谢你的帮助。
我是这样解决问题的:
在 tr 标签中而不是使用 'oncontextmenu' 我只使用了 'onclick'
删除'hideContextMenu'函数
使用这个
window.onclick = function (event) {
if(event["path"][0].tagName != "TD" ){
contextMenu.style.display = 'none';
}
};
我有一个 table 单击任意行我可以访问上下文菜单
<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>
有什么方法可以将鼠标右键单击更改为左键单击,以显示上下文菜单? 谢谢你的帮助。
我是这样解决问题的:
在 tr 标签中而不是使用 'oncontextmenu' 我只使用了 'onclick'
删除'hideContextMenu'函数
使用这个
window.onclick = function (event) { if(event["path"][0].tagName != "TD" ){ contextMenu.style.display = 'none'; } };